freebsd-skq/sys/vm
tegge 0d5f191162 Close race between vmspace_exitfree() and exit1() and races between
vmspace_exitfree() and vmspace_free() which could result in the same
vmspace being freed twice.

Factor out part of exit1() into new function vmspace_exit().  Attach
to vmspace0 to allow old vmspace to be freed earlier.

Add new function, vmspace_acquire_ref(), for obtaining a vmspace
reference for a vmspace belonging to another process.  Avoid changing
vmspace refcount from 0 to 1 since that could also lead to the same
vmspace being freed twice.

Change vmtotal() and swapout_procs() to use vmspace_acquire_ref().

Reviewed by:	alc
2006-05-29 21:28:56 +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 the unused sva and eva arguments from pmap_remove_pages(). 2006-04-03 21:16:10 +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 When allocating a bucket to hold a free'd item in UMA fails, don't 2006-05-21 23:25:32 +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 Simplify the implementation of vm_fault_additional_pages() based upon the 2006-05-13 20:05:44 +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 Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +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 Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +00:00
vm_mmap.c It seems that POSIX would rather ENODEV returned in place of EINVAL when 2006-04-21 07:17:25 +00:00
vm_object.c Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must 2006-03-02 22:13:28 +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 Introduce minidumps. Full physical memory crash dumps are still available 2006-04-21 04:24:50 +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 Add synchronization to vm_pageq_add_new_page() so that it can be called 2006-04-25 17:27: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