From 10b2623aaca510896c1497a479d4a8b7e165ab41 Mon Sep 17 00:00:00 2001 From: mjg Date: Sun, 6 Jan 2013 21:47:59 +0000 Subject: [PATCH] lockmgr: unlock interlock (if requested) when dealing with upgrade/downgrade requests for LK_NOSHARE locks, just like for shared locks. PR: kern/174969 Reviewed by: attilio MFC after: 1 week --- sys/kern/kern_lock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c index 98f0156d892..7962ae1a57a 100644 --- a/sys/kern/kern_lock.c +++ b/sys/kern/kern_lock.c @@ -498,6 +498,8 @@ __lockmgr_args(struct lock *lk, u_int flags, struct lock_object *ilk, case LK_DOWNGRADE: _lockmgr_assert(lk, KA_XLOCKED | KA_NOTRECURSED, file, line); + if (flags & LK_INTERLOCK) + class->lc_unlock(ilk); return (0); } } -- 2.45.2