Date: Sat, 6 Dec 2003 00:54:51 -0600 (CST) From: Mike Silbersack <silby@silby.com> To: Alan Cox <alc@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/vm vm_mmap.c Message-ID: <20031206005341.D33930@odysseus.silby.com> In-Reply-To: <200312060545.hB65jWx4095325@repoman.freebsd.org> References: <200312060545.hB65jWx4095325@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031206005341.D33930>