HomeFreeBSD

Fix a deadlock between vm_fault() and vm_mmap(): The expected lock ordering
rS123168Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

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

Details

Provenance
alcAuthored on
Parents
rS123167: Slim down the package list some more. The KDE and Gnome metaports might
Branches
Unknown
Tags
Unknown

Event Timeline