git: kernel - Fix lockmgr non-zero exclusive count panic
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Dec 29 00:37:40 PST 2010
commit 7a4c56501df11e04efafe58591214c5806606c25
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Dec 29 00:32:27 2010 -0800
kernel - Fix lockmgr non-zero exclusive count panic
* The vm_map lock uses shared & exclusive locks and tries to upgrade
shared to exclusive. There is a race where a shared upgrade can
steal an exclusive lock from an exclusive request which has already
acquired the LK_WANT_EXCL flag.
* Deal with the case by having the exclusive lock also acquire
LK_HAVE_EXCL to catch any shared upgrades which beat out the
request.
Reported-by: YONETANI Tomokazu <qhwt.dfly at les.ath.cx>
Researched-by: YONETANI Tomokazu <qhwt.dfly at les.ath.cx>
Summary of changes:
sys/kern/kern_lock.c | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7a4c56501df11e04efafe58591214c5806606c25
--
DragonFly BSD source repository
More information about the Commits
mailing list