DragonFly BSD
DragonFly commits List (threaded) for 2010-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix lockmgr non-zero exclusive count panic


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 29 Dec 2010 00:36:10 -0800 (PST)

commit 7a4c56501df11e04efafe58591214c5806606c25
Author: Matthew Dillon <dillon@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@les.ath.cx>
    Researched-by: YONETANI Tomokazu <qhwt.dfly@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]