freebsd-dev/sys/vm
Alan Cox 2e9f4a698d Ensure that vm_object_deallocate() doesn't dereference a stale object
pointer: When vm_object_deallocate() sleeps because of a non-zero
paging in progress count on either object or object's shadow,
vm_object_deallocate() must ensure that object is still the shadow's
backing object when it reawakens.  In fact, object may have been
deallocated while vm_object_deallocate() slept.  If so, reacquiring
the lock on object can lead to a deadlock.

Submitted by: ups@
MFC after: 3 weeks
2006-07-17 06:45:03 +00:00
..
default_pager.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
device_pager.c Add a comment to the effect that fictitious pages do not require the 2005-06-10 17:27:54 +00:00
memguard.c Improve memguard a bit: 2005-12-30 11:45:07 +00:00
memguard.h Improve memguard a bit: 2005-12-30 11:45:07 +00:00
phys_pager.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
pmap.h Remove mpte optimization from pmap_enter_quick(). 2006-06-15 01:01:06 +00:00
redzone.c Add buffer corruption protection (RedZone) for kernel's malloc(9). 2006-01-31 11:09:21 +00:00
redzone.h Add buffer corruption protection (RedZone) for kernel's malloc(9). 2006-01-31 11:09:21 +00:00
swap_pager.c Use better order here. 2006-05-10 06:50:44 +00:00
swap_pager.h On shutdown try to turn off all swap devices. This way GEOM providers are 2006-04-10 10:03:41 +00:00
uma_core.c Remove sysctl_vm_zone() and vm.zone sysctl from 7.x. As of 6.x, 2006-07-16 22:53:26 +00:00
uma_dbg.c Improve canonicalization of copyrights. Order copyrights by order of 2005-07-16 09:51:52 +00:00
uma_dbg.h Improve canonicalization of copyrights. Order copyrights by order of 2005-07-16 09:51:52 +00:00
uma_int.h Wrap inlines in uma_int.h in #ifdef _KERNEL so that uma_int.h can be 2005-08-04 10:03:53 +00:00
uma.h As alc pointed out to me, vm_page.c 1.305 was incomplete: uma_startup() 2005-10-08 21:03:54 +00:00
vm_contig.c Ignore dirty pages owned by "dead" objects. 2006-03-08 00:51:00 +00:00
vm_extern.h Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +00:00
vm_fault.c Remove mpte optimization from pmap_enter_quick(). 2006-06-15 01:01:06 +00:00
vm_glue.c Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +00:00
vm_init.c Add the vm.exec_map_entries tunable and read-only sysctl, which controls 2005-04-25 19:22:05 +00:00
vm_kern.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_kern.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_map.c Use ptoa(psize) instead of size to compute the end of the mapping in 2006-06-17 08:45:01 +00:00
vm_map.h Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +00:00
vm_meter.c Set debug.mpsafevm to true on PowerPC. (Now, by default, all architectures 2006-07-10 07:08:05 +00:00
vm_mmap.c Make the mincore(2) return ENOMEM when requested range is not fully mapped. 2006-06-21 12:59:05 +00:00
vm_object.c Ensure that vm_object_deallocate() doesn't dereference a stale object 2006-07-17 06:45:03 +00:00
vm_object.h Make vm_object_vndeallocate() static. The external calls to it were 2006-01-22 23:56:20 +00:00
vm_page.c Move the code to handle the vm.blacklist tunable up a layer into 2006-06-23 16:44:24 +00:00
vm_page.h With the recent changes to the implementation of page coloring, the 2006-01-24 19:24:54 +00:00
vm_pageout.c Expand scope of marker to reduce the number of page queue scan restarts. 2006-02-17 21:02:39 +00:00
vm_pageout.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_pageq.c Move the code to handle the vm.blacklist tunable up a layer into 2006-06-23 16:44:24 +00:00
vm_pager.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
vm_pager.h Update some comments to reflect the change from spl-based to lock-based 2005-05-18 22:08:52 +00:00
vm_param.h /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_unix.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
vm_zeroidle.c Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
vm.h - Change the vm_mmap() function to accept an objtype_t parameter specifying 2005-04-01 20:00:11 +00:00
vnode_pager.c Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must 2006-03-02 22:13:28 +00:00
vnode_pager.h Move the body of vop_stdcreatevobject() over to the vnode_pager under 2005-01-24 21:21:59 +00:00