freebsd-nq/sys/vm
Alan Cox 20eec4bbdb Fix a deadlock between vm_fault() and vm_mmap(): The expected lock ordering
between vm_map and vnode locks is that vm_map locks are acquired first.  In
revision 1.150 mmap(2) was changed to pass a locked vnode into vm_mmap().
This creates a lock-order reversal when vm_mmap() calls one of the vm_map
routines that acquires a vm_map lock.  The solution implemented herein is
to release the vnode lock in mmap() before calling vm_mmap() and reacquire
this lock if necessary in vm_mmap().

Approved by:	re (scottl)
Reviewed by:	jeff, kan, rwatson
2003-12-06 05:45:32 +00:00
..
default_pager.c
device_pager.c
phys_pager.c
pmap.h
swap_pager.c
swap_pager.h
uma_core.c Fix all users of mp_maxid to use the same semantics, namely: 2003-12-03 14:57:26 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h
vm_contig.c
vm_extern.h
vm_fault.c
vm_glue.c
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c - Avoid a lock-order reversal between Giant and a system map mutex that 2003-11-19 18:48:45 +00:00
vm_map.h
vm_meter.c
vm_mmap.c Fix a deadlock between vm_fault() and vm_mmap(): The expected lock ordering 2003-12-06 05:45:32 +00:00
vm_object.c
vm_object.h
vm_page.c
vm_page.h
vm_pageout.c
vm_pageout.h
vm_pageq.c
vm_pager.c
vm_pager.h
vm_param.h
vm_unix.c
vm_zeroidle.c
vm.h
vnode_pager.c In vnode_pager_input_smlfs(), call VOP_STRATEGY instead of VOP_SPECSTRATEGY 2003-11-15 09:54:11 +00:00
vnode_pager.h