From nobody@FreeBSD.org  Fri Jan  4 13:59:39 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id D519CA33
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  4 Jan 2013 13:59:39 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id C631D33E
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  4 Jan 2013 13:59:39 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r04DxdmP017869
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 4 Jan 2013 13:59:39 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r04DxdCo017868;
	Fri, 4 Jan 2013 13:59:39 GMT
	(envelope-from nobody)
Message-Id: <201301041359.r04DxdCo017868@red.freebsd.org>
Date: Fri, 4 Jan 2013 13:59:39 GMT
From: Volodymyr Kostyrko <c.kworr@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: unionfs and tmpfs can produce panic when mixed
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         174969
>Category:       kern
>Synopsis:       unionfs and tmpfs can produce panic when mixed
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    mjg
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 04 14:00:00 UTC 2013
>Closed-Date:    Sun Jan 13 00:41:22 UTC 2013
>Last-Modified:  Sun Jan 13 00:41:22 UTC 2013
>Originator:     Volodymyr Kostyrko
>Release:        RELENG_9_1
>Organization:
None
>Environment:
FreeBSD urquan.xim.bz 9.1-RELEASE FreeBSD 9.1-RELEASE #3 r244839M: Sun Dec 30 00:34:33 EET 2012     arcade@urquan.xim.bz:/usr/obj/usr/src/sys/MINIMAL  amd64
>Description:
I'm doing this:

>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->mjg 
Responsible-Changed-By: mjg 
Responsible-Changed-When: Sat Jan 5 15:44:58 UTC 2013 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174969 

From: Mateusz Guzik <mjguzik@gmail.com>
To: bug-followup@FreeBSD.org, c.kworr@gmail.com
Cc:  
Subject: Re: kern/174969: unionfs and tmpfs can produce panic when mixed
Date: Sat, 5 Jan 2013 16:45:44 +0100

 Try this:
 
 http://people.freebsd.org/~mjg/patches/lockmgr-noshare-interlock.diff
 
 -- 
 Mateusz Guzik <mjguzik gmail.com>

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/174969: commit references a PR
Date: Sun,  6 Jan 2013 21:48:07 +0000 (UTC)

 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);
  		}
  	}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: mjg 
State-Changed-When: Sun Jan 6 21:59:07 UTC 2013 
State-Changed-Why:  
Fixed in head as of r245113, will MFC in 1 week. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174969 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/174969: commit references a PR
Date: Sun, 13 Jan 2013 00:32:26 +0000 (UTC)

 Author: mjg
 Date: Sun Jan 13 00:32:07 2013
 New Revision: 245351
 URL: http://svnweb.freebsd.org/changeset/base/245351
 
 Log:
   MFC r245113:
   lockmgr: unlock interlock (if requested) when dealing with upgrade/downgrade
   requests for LK_NOSHARE locks, just like for shared locks.
   
   PR:		kern/174969
 
 Modified:
   stable/9/sys/kern/kern_lock.c
 Directory Properties:
   stable/9/sys/   (props changed)
 
 Modified: stable/9/sys/kern/kern_lock.c
 ==============================================================================
 --- stable/9/sys/kern/kern_lock.c	Sat Jan 12 23:49:11 2013	(r245350)
 +++ stable/9/sys/kern/kern_lock.c	Sun Jan 13 00:32:07 2013	(r245351)
 @@ -489,6 +489,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);
  		}
  	}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: mjg 
State-Changed-When: Sun Jan 13 00:41:21 UTC 2013 
State-Changed-Why:  
MFCed to stable/9 as r245351 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174969 
>Unformatted:
 >>> /etc/fstab
 /tmp /some/other/dir unionfs ro,late,below 0 0
 
 cd /some/other/dir
 ls
 
 The system shows directory contents and I see shell prompt. Immediately after this panic occurs.
 
 https://docs.google.com/open?id=0Bxzr6h0p2pN8aU4xZ3E4ZkttSTA
