freebsd-skq/sys/vm
Mark Johnston e1cb9d3747 Busy the map in vm_map_protect().
We are otherwise susceptible to a race with a concurrent vm_map_wire(),
which may drop the map lock to fault pages into the object chain. In
particular, vm_map_protect() will only copy newly writable wired pages
into the top-level object when MAP_ENTRY_USER_WIRED is set, but
vm_map_wire() only sets this flag after its fault loop. We may thus end
up with a writable wired entry whose top-level object does not contain the
entire range of pages.

Reported and tested by:	pho
Reviewed by:	kib
MFC after:	1 week
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D10349
2017-04-10 21:01:42 +00:00
..
_vm_radix.h During vm_page_cache()'s call to vm_radix_insert(), if vm_page_alloc() was 2016-12-01 17:26:37 +00:00
default_pager.c Provide introductory description of the default pager. 2016-12-14 23:36:32 +00:00
device_pager.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
memguard.c Include sys/_task.h into uma_int.h, so that taskqueue.h isn't a 2016-02-09 20:22:35 +00:00
memguard.h
phys_pager.c Implement the populate() pager method for phys pager. 2016-12-08 11:35:53 +00:00
pmap.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
redzone.c
redzone.h
sg_pager.c Consistently handle negative or wrapping offsets in the mmap(2) syscalls. 2017-02-12 21:05:44 +00:00
swap_pager.c Add a page queue for holding dirty anonymous unswappable pages. 2017-01-03 00:05:44 +00:00
swap_pager.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
uma_core.c Assert that the align parameter to uma_zcreate() is valid. 2017-04-04 16:26:46 +00:00
uma_dbg.c Fix memguard(9) in kernels with INVARIANTS enabled. 2016-06-01 22:31:35 +00:00
uma_dbg.h Move uma_dbg_alloc() and uma_dbg_free() into uma_core.c, which allows 2016-02-03 22:02:36 +00:00
uma_int.h uma: eliminate uk_slabsize field 2017-03-11 16:35:36 +00:00
uma.h Update a comment to reflect reality. 2017-03-13 18:45:25 +00:00
vm_domain.c Remove cpu_spinwait after seq_consistent. 2016-12-30 06:26:17 +00:00
vm_domain.h Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
vm_extern.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_fault.c Two changes to vm_fault_populate(): 2017-03-19 19:52:47 +00:00
vm_glue.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_init.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_kern.c Use atop() instead of OFF_TO_IDX() for convertion of addresses or 2017-03-14 19:39:17 +00:00
vm_kern.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_map.c Busy the map in vm_map_protect(). 2017-04-10 21:01:42 +00:00
vm_map.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_meter.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_mmap.c Add kern_mincore() helper for micore() syscall. 2017-03-30 19:42:49 +00:00
vm_object.c Relax the locking requirements for vm_object_page_noreuse(). While 2017-03-15 17:43:45 +00:00
vm_object.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_page.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_page.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_pageout.c call vm_lowmem hook in uma_reclaim_worker 2017-02-25 16:39:21 +00:00
vm_pageout.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_pager.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_pager.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_param.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_phys.c Ifdef out the unused vm_rr_selectdomain(). 2017-02-02 17:44:55 +00:00
vm_phys.h Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
vm_radix.c Previously, vm_radix_remove() would panic if the radix trie didn't 2016-12-08 04:29:29 +00:00
vm_radix.h Previously, vm_radix_remove() would panic if the radix trie didn't 2016-12-08 04:29:29 +00:00
vm_reserv.c Relax the object type restrictions on vm_page_alloc_contig(). Specifically, 2016-12-28 18:32:13 +00:00
vm_reserv.h Relax the object type restrictions on vm_page_alloc_contig(). Specifically, 2016-12-28 18:32:13 +00:00
vm_unix.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm.h Implement INHERIT_ZERO for minherit(2). 2017-03-14 17:10:42 +00:00
vnode_pager.c Extract calculation of ioflags from the vm_pager_putpages flags into a 2017-04-05 16:56:04 +00:00
vnode_pager.h Extract calculation of ioflags from the vm_pager_putpages flags into a 2017-04-05 16:56:04 +00:00