git: kernel - Fix spinlock bug introduced with windowing
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed May 2 10:23:27 PDT 2018
commit c5cfe2c8a9e60978d4b0e30340f4cbb1ba1bb5d3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed May 2 10:19:01 2018 -0700
kernel - Fix spinlock bug introduced with windowing
* The exclusive spinlock contention code was improperly assuming that
non-zero EXCLWAIT bits prevented the SHARED bit from being set. This
is no longer true, shared locks can sometimes override EXCLWAIT.
This assumption could result in spin_lock() returning with a shared
lock instead of an exclusive lock.
* Fixed by ensuring that the SHARED bit is cleared when resolving the
contended exclusive lock.
* Should hopefully fix the pmap pv == NULL assertion.
Reported-by: dillon, zrj
Summary of changes:
sys/kern/kern_spinlock.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c5cfe2c8a9e60978d4b0e30340f4cbb1ba1bb5d3
--
DragonFly BSD source repository
More information about the Commits
mailing list