svn commit: r245113 - head/sys/kern

Mateusz Guzik mjg at FreeBSD.org
Sun Jan 6 21:48:00 UTC 2013


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);
 		}
 	}


More information about the svn-src-all mailing list