freebsd-dev/sys
Konstantin Belousov 84110e7e0b Account the writeable shared mappings backed by file in the vnode
v_writecount.  Keep the amount of the virtual address space used by
the mappings in the new vm_object un_pager.vnp.writemappings
counter. The vnode v_writecount is incremented when writemappings gets
non-zero value, and decremented when writemappings is returned to
zero.

Writeable shared vnode-backed mappings are accounted for in vm_mmap(),
and vm_map_insert() is instructed to set MAP_ENTRY_VN_WRITECNT flag on
the created map entry.  During deferred map entry deallocation,
vm_map_process_deferred() checks for MAP_ENTRY_VN_WRITECOUNT and
decrements writemappings for the vm object.

Now, the writeable mount cannot be demoted to read-only while
writeable shared mappings of the vnodes from the mount point
exist. Also, execve(2) fails for such files with ETXTBUSY, as it
should be.

Noted by:	tegge
Reviewed by:	tegge (long time ago, early version), alc
Tested by:	pho
MFC after:	3 weeks
2012-02-23 21:07:16 +00:00
..
amd64 Refine r231791. Install the resume event handler unconditionally. 2012-02-16 22:28:17 +00:00
arm Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
boot Make sure to synchronize icache for the newly loaded loader. Not an issue 2012-02-16 03:27:38 +00:00
bsm Add ECAPMODE, "Not permitted in capability mode", a new kernel errno 2011-03-01 13:14:28 +00:00
cam Limit the ST3146855LW U320 drive to 55 tags to avoid command timeouts 2012-02-15 07:30:23 +00:00
cddl Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
compat Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
conf Fix various typos and normalize spelling. 2012-02-22 15:05:19 +00:00
contrib IFC @231845 2012-02-17 00:27:48 +00:00
crypto Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
ddb Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
dev If the VBE implementation does not support save/restore function, defer to 2012-02-23 20:54:22 +00:00
fs To improve control over the use of mount(8) inside a jail(8), introduce 2012-02-23 18:51:24 +00:00
gdb kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
geom If nested scheme allows dump kernel to its partition, we may allow 2012-02-20 06:35:52 +00:00
gnu/fs Use new OSS-based BSD-licensed header for cs sound driver. 2012-02-01 21:38:01 +00:00
i386 Fix misuse of the kernel map in miscellaneous image activators. 2012-02-17 23:47:16 +00:00
ia64 Rev. 228360 moved the call to cpu_set_upcall() to happen before 2012-02-08 04:05:38 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern To improve control over the use of mount(8) inside a jail(8), introduce 2012-02-23 18:51:24 +00:00
kgssapi Add missing break statement to make sure all 3DES etypes really are treated 2011-10-10 09:13:07 +00:00
libkern Implement extensions on top of standards instead of the other way around. 2012-01-03 07:05:30 +00:00
mips Refctor address assignment for Octeon's ethernet ports: 2012-02-22 01:30:25 +00:00
modules Connect smcphy(4) to mii module build. 2012-02-23 01:22:40 +00:00
net Indicate this function decrements the timer as well as testing for expiry. 2012-02-23 20:58:52 +00:00
net80211 Remove redundant forward declaration of struct ieee80211com. 2012-02-20 15:05:21 +00:00
netatalk Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netgraph Revert r231829, that was my braino. 2012-02-22 09:08:51 +00:00
netinet When using flowtable llentrys can outlive the interface with which they're associated 2012-02-23 18:21:37 +00:00
netinet6 When using flowtable llentrys can outlive the interface with which they're associated 2012-02-23 18:21:37 +00:00
netipsec Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
netipx Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netnatm
netncp Change ncp_scan_bindery_object() to pass a constant search string. 2011-10-16 08:44:03 +00:00
netsmb Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
nfs Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
nfsclient Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
nfsserver Honor NFSv3 commit call (RFC 1813, Section 3.3.21) where when count is 0, 2011-12-15 02:26:53 +00:00
nlm jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 2012-01-31 02:11:05 +00:00
ofed Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:54 +00:00
opencrypto Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
pc98 Remove full debugger options and enable KDB_TRACE option instead to decrease 2012-02-09 14:15:56 +00:00
pci To save more power, switch to 10/100Mbps link when controller is 2011-11-23 23:29:18 +00:00
powerpc Enable the new PCI-PCI bridge driver by default. 2012-02-19 10:10:12 +00:00
rpc Both a crash reported on freebsd-current on Oct. 18 under the 2011-11-03 14:38:03 +00:00
security Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
sparc64 As it turns out r227960 may still be insufficient with PREEMPTION 2012-01-28 22:42:33 +00:00
sys To improve control over the use of mount(8) inside a jail(8), introduce 2012-02-23 18:51:24 +00:00
teken Link the demo application against ncursesw to make Unicode work. 2011-10-13 14:20:27 +00:00
tools Make vnode_if.awk parse vnode operations with underscores, like VOP_FOO_BAR. 2012-02-21 19:35:59 +00:00
ufs Properly lock DQREF() with dqhlock. Missed locking caused counter 2012-02-22 20:03:51 +00:00
vm Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00
x86 Fix a few bugs in the SRAT parsing code: 2012-01-03 20:53:58 +00:00
xdr
xen Fix "_" vs. "-" typo in a comment. No functional changes. 2012-02-16 21:47:17 +00:00
Makefile Improve the cscope target's handling of MD directories. Automatically 2012-01-03 17:31:27 +00:00