cvs commit: src/sys/vm vm_mmap.c
Mike Silbersack
silby at silby.com
Fri Dec 5 22:54:57 PST 2003
WHOOOOOOOOOOO HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
I'm not sure if any has realized it yet, but I think that this may be our
first actual deadlock condition. This means that we're actually locking
things!
Congrats,
Mike "Silby" Silbersack
On Fri, 5 Dec 2003, Alan Cox wrote:
> 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