Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jan 2013 21:48:00 +0000 (UTC)
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r245113 - head/sys/kern
Message-ID:  <201301062148.r06Lm0EI065286@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mjg
Date: Sun Jan  6 21:47:59 2013
New Revision: 245113
URL: http://svnweb.freebsd.org/changeset/base/245113

Log:
  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

Modified:
  head/sys/kern/kern_lock.c

Modified: head/sys/kern/kern_lock.c
==============================================================================
--- head/sys/kern/kern_lock.c	Sun Jan  6 20:50:31 2013	(r245112)
+++ head/sys/kern/kern_lock.c	Sun Jan  6 21:47:59 2013	(r245113)
@@ -498,6 +498,8 @@ __lockmgr_args(struct lock *lk, u_int fl
 		case LK_DOWNGRADE:
 			_lockmgr_assert(lk, KA_XLOCKED | KA_NOTRECURSED,
 			    file, line);
+			if (flags & LK_INTERLOCK)
+				class->lc_unlock(ilk);
 			return (0);
 		}
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301062148.r06Lm0EI065286>