freebsd-dev/sys/vm
Konstantin Belousov 9ded9474d3 Do not coalesce if the swap object belongs to tmpfs vnode. The
coalesce would extend the object to keep pages for the anonymous
mapping created by the process.  The pages has no relations to the
tmpfs file content which could be written into the corresponding
range, causing anonymous mapping and file content aliasing and
subsequent corruption.

Another lesser problem created by coalescing is over-accounting on the
tmpfs node destruction, since the object size is substracted from the
total count of the pages owned by the tmpfs mount.

Reported and tested by:	bdrewery
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2013-11-05 06:18:50 +00:00
..
_vm_radix.h On all the architectures, avoid to preallocate the physical memory 2013-08-09 11:28:55 +00:00
default_pager.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
device_pager.c Different consumers of the struct vm_page abuse pageq member to keep 2013-08-10 17:36:42 +00:00
memguard.c - Add a statically allocated memguard arena since it is needed very early 2013-08-13 22:40:43 +00:00
memguard.h Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
phys_pager.c The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
pmap.h The pmap function pmap_clear_reference() is no longer used. Remove it. 2013-09-20 04:30:18 +00:00
redzone.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
redzone.h
sg_pager.c Different consumers of the struct vm_page abuse pageq member to keep 2013-08-10 17:36:42 +00:00
swap_pager.c Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9). 2013-08-22 07:39:53 +00:00
swap_pager.h Do not map the swap i/o pbufs if the geom provider for the swap 2013-03-19 14:39:27 +00:00
uma_core.c Fix bug introduced in rewrite of keg_free_slab in -r251894. 2013-08-31 15:40:15 +00:00
uma_dbg.c - Add a per-zone lock for zones without kegs. 2013-06-20 19:08:12 +00:00
uma_dbg.h
uma_int.h PG_SLAB no longer serves a useful purpose, since m->object is no 2013-09-17 07:35:26 +00:00
uma.h - Resolve bucket recursion issues by passing a cookie with zone flags 2013-06-26 00:57:38 +00:00
vm_extern.h Merge the following changes from projects/bhyve_npt_pmap: 2013-09-20 17:06:49 +00:00
vm_fault.c Remove zero-copy sockets code. It only worked for anonymous memory, 2013-09-16 06:25:54 +00:00
vm_glue.c Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9). 2013-08-22 07:39:53 +00:00
vm_init.c Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use 2013-09-09 18:11:59 +00:00
vm_kern.c Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use 2013-09-09 18:11:59 +00:00
vm_kern.h - Add a statically allocated memguard arena since it is needed very early 2013-08-13 22:40:43 +00:00
vm_map.c Both the vm_map and vmspace zones are defined as "no free". So, there is no 2013-09-22 17:48:10 +00:00
vm_map.h Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use 2013-09-09 18:11:59 +00:00
vm_meter.c Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
vm_mmap.c Extend the support for exempting processes from being killed when swap is 2013-09-19 18:53:42 +00:00
vm_object.c Do not coalesce if the swap object belongs to tmpfs vnode. The 2013-11-05 06:18:50 +00:00
vm_object.h On all the architectures, avoid to preallocate the physical memory 2013-08-09 11:28:55 +00:00
vm_page.c PG_SLAB no longer serves a useful purpose, since m->object is no 2013-09-17 07:35:26 +00:00
vm_page.h PG_SLAB no longer serves a useful purpose, since m->object is no 2013-09-17 07:35:26 +00:00
vm_pageout.c - Eliminate the vm object lock from the active queue scan. It is not 2013-08-21 22:39:19 +00:00
vm_pageout.h Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
vm_pager.c - Add a general purpose resource allocator, vmem, from NetBSD. It was 2013-06-28 03:51:20 +00:00
vm_pager.h - Add a general purpose resource allocator, vmem, from NetBSD. It was 2013-06-28 03:51:20 +00:00
vm_param.h Remove unused definition for CTL_VM_NAMES. 2013-08-09 23:47:43 +00:00
vm_phys.c Tidy up the output of "sysctl vm.phys_free". 2013-10-10 16:11:45 +00:00
vm_phys.h Split the pagequeues per NUMA domains, and split pageademon process 2013-08-07 16:36:38 +00:00
vm_radix.c Addendum to r254141: The call to vm_radix_insert() in vm_page_cache() can 2013-08-23 17:27:12 +00:00
vm_radix.h Addendum to r254141: The call to vm_radix_insert() in vm_page_cache() can 2013-08-23 17:27:12 +00:00
vm_reserv.c PG_SLAB no longer serves a useful purpose, since m->object is no 2013-09-17 07:35:26 +00:00
vm_reserv.h Refactor vm_page_alloc()'s interactions with vm_reserv_alloc_page() and 2013-05-12 16:50:18 +00:00
vm_unix.c - Improve readability of sys_obreak(). 2013-01-11 09:58:35 +00:00
vm_zeroidle.c Split the pagequeues per NUMA domains, and split pageademon process 2013-08-07 16:36:38 +00:00
vm.h rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST 2013-07-24 09:45:31 +00:00
vnode_pager.c The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
vnode_pager.h Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00