git: kernel - Fix shared/exclusive spinlock race

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jan 30 09:50:54 PST 2017


commit e22f2acdde96b31c8a0c99a09f739a0fb7f3fa2a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Jan 30 09:37:58 2017 -0800

    kernel - Fix shared/exclusive spinlock race
    
    * Fix a long-standing bug in the shared spinlock code which could
      unintentionally cause a contending exclusive waiter to acquire its
      lock shared.
    
    * Fixes a pmap issue exercised by the vkernel.
    
    * The namecache also uses shared spinlocks but was far less likely to hit
      the bug.

Summary of changes:
 sys/kern/kern_spinlock.c | 50 +++++++++++++++++++++++++++++++++---------------
 sys/sys/spinlock2.h      | 31 ++++++++++++++++++++----------
 2 files changed, 56 insertions(+), 25 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e22f2acdde96b31c8a0c99a09f739a0fb7f3fa2a


-- 
DragonFly BSD source repository



More information about the Commits mailing list