cvs commit: src/sys/vm vm_mmap.c
Alan Cox
alc at FreeBSD.org
Fri Dec 5 21:45:33 PST 2003
alc 2003/12/05 21:45:32 PST
FreeBSD src repository
Modified files:
sys/vm vm_mmap.c
Log:
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
Revision Changes Path
1.174 +13 -4 src/sys/vm/vm_mmap.c
More information about the cvs-src
mailing list