NetBSD Problem Report #54195

From kardel@pip.kardel.name  Sat May 11 13:06:52 2019
Return-Path: <kardel@pip.kardel.name>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 396367A16B
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 11 May 2019 13:06:52 +0000 (UTC)
Message-Id: <20190511130645.68D6DDA0D8C@pip.kardel.name>
Date: Sat, 11 May 2019 15:06:45 +0200 (CEST)
From: kardel@netbsd.org
Reply-To: kardel@netbsd.org
To: gnats-bugs@NetBSD.org
Subject: -current (20190508) null mounts: panic:kernel diagnostic assertion "fstrans_is_owner(mp)" failed: file "/src/NetBSD/cur/src/sys/kern/vfs_vnode.c", line 495 
X-Send-Pr-Version: 3.95

>Number:         54195
>Category:       kern
>Synopsis:       unmount of stacked null mount may panic
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    hannken
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat May 11 13:10:00 +0000 2019
>Closed-Date:    Thu May 16 10:06:11 +0000 2019
>Last-Modified:  Thu May 16 10:06:11 +0000 2019
>Originator:     Frank Kardel
>Release:        NetBSD 8.99.39 20190510
>Organization:

>Environment:
System: NetBSD pip.kardel.name 8.99.39 NetBSD 8.99.39 (GENERIC) #0: Fri May 10 09:42:46 UTC 2019 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
	unmount of stacked null mounts may panic: kernel diagnostic assertion "fstrans_is_owner(mp)" failed: file "/src/NetBSD/cur/src/sys/kern/vfs_vnode.c", line 495
>How-To-Repeat:
	mkdir /p
	mkdir /p/d
	mkdir /pp
	mount -t null /p /pp
	mkdir /ppp
	mount -t null /pp /ppp
	mount -t null /pp/d /ppp/d
	umount /ppp/d
	=> panic

(gdb) bt
#0  0xffffffff80222caa in cpu_reboot (howto=howto@entry=260, bootstr=bootstr@entry=0x0) at /src/NetBSD/cur/src/sys/arch/amd64/amd64/machdep.c:728
#1  0xffffffff80a13386 in vpanic (fmt=0xffffffff813594a8 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ", ap=ap@entry=0xffff82849760cc88)
    at /src/NetBSD/cur/src/sys/kern/subr_prf.c:335
#2  0xffffffff80e4f03b in kern_assert (fmt=fmt@entry=0xffffffff813594a8 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ")
    at /src/NetBSD/cur/src/sys/lib/libkern/kern_assert.c:51
#3  0xffffffff80a77983 in vrele_flush (mp=<optimized out>) at /src/NetBSD/cur/src/sys/kern/vfs_vnode.c:495
#4  0xffffffff80a67023 in vflush (mp=mp@entry=0xffffe55b36b06008, skipvp=skipvp@entry=0xffffe55ab99d1038, flags=0) at /src/NetBSD/cur/src/sys/kern/vfs_mount.c:595
#5  0xffffffff808cef72 in nullfs_unmount (mp=0xffffe55b36b06008, mntflags=<optimized out>) at /src/NetBSD/cur/src/sys/miscfs/nullfs/null_vfsops.c:197
#6  0xffffffff80a6c07f in VFS_UNMOUNT (mp=mp@entry=0xffffe55b36b06008, a=a@entry=0) at /src/NetBSD/cur/src/sys/kern/vfs_subr.c:1340
#7  0xffffffff80a6936e in dounmount (mp=mp@entry=0xffffe55b36b06008, flags=0, l=l@entry=0xffffe55b3236e2a0) at /src/NetBSD/cur/src/sys/kern/vfs_mount.c:875
#8  0xffffffff80a6f80f in sys_unmount (l=0xffffe55b3236e2a0, uap=0xffff82849760d000, retval=<optimized out>) at /src/NetBSD/cur/src/sys/kern/vfs_syscalls.c:634
#9  0xffffffff80251092 in sy_call (rval=0xffff82849760cfb0, uap=0xffff82849760d000, l=0xffffe55b3236e2a0, sy=0xffffffff81857df0 <sysent+528>)
    at /src/NetBSD/cur/src/sys/sys/syscallvar.h:65
#10 sy_invoke (code=22, rval=0xffff82849760cfb0, uap=0xffff82849760d000, l=0xffffe55b3236e2a0, sy=0xffffffff81857df0 <sysent+528>)
    at /src/NetBSD/cur/src/sys/sys/syscallvar.h:94
#11 syscall (frame=0xffff82849760d000) at /src/NetBSD/cur/src/sys/arch/x86/x86/syscall.c:138
#12 0xffffffff802096dd in handle_syscall ()
#13 0x00007f7fff2b3d90 in ?? ()
#14 0x0000000000000000 in ?? ()
(gdb) print panicstr
$1 = 0xffffffff8198fe20 <scratchstr> "kernel diagnostic assertion \"fstrans_is_owner(mp)\" failed: file \"/src/NetBSD/cur/src/sys/kern/vfs_vnode.c\", line 495 "

	The initial "mount -t null /p /pp" is necessary, without it the panic does not happen.
>Fix:
	don't stack too many null mounts :-(.

>Release-Note:

>Audit-Trail:
From: "Juergen Hannken-Illjes" <hannken@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/54195 CVS commit: src/sys/kern
Date: Mon, 13 May 2019 08:16:56 +0000

 Module Name:	src
 Committed By:	hannken
 Date:		Mon May 13 08:16:56 UTC 2019

 Modified Files:
 	src/sys/kern: vfs_trans.c

 Log Message:
 Walk down to the lowest mount for "fli_alias".

 Address PR kern/54195 (null mounts: panic: ...).


 To generate a diff of this commit:
 cvs rdiff -u -r1.59 -r1.60 src/sys/kern/vfs_trans.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Responsible-Changed-From-To: kern-bug-people->hannken
Responsible-Changed-By: hannken@NetBSD.org
Responsible-Changed-When: Mon, 13 May 2019 08:39:37 +0000
Responsible-Changed-Why:
Take.


State-Changed-From-To: open->feedback
State-Changed-By: hannken@NetBSD.org
State-Changed-When: Mon, 13 May 2019 08:39:37 +0000
State-Changed-Why:
Committed a fix -- please confirm.


From: Frank Kardel <kardel@netbsd.org>
To: gnats-bugs@netbsd.org, hannken@netbsd.org, kern-bug-people@netbsd.org,
 netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Cc: 
Subject: Re: kern/54195 (unmount of stacked null mount may panic)
Date: Mon, 13 May 2019 21:21:44 +0200

 Seems to work in my case - thanks for the fix.

 Bug can be closed (might need pullups, though)

 Frank


 On 05/13/19 10:39, hannken@NetBSD.org wrote:
 > Synopsis: unmount of stacked null mount may panic
 >
 > Responsible-Changed-From-To: kern-bug-people->hannken
 > Responsible-Changed-By: hannken@NetBSD.org
 > Responsible-Changed-When: Mon, 13 May 2019 08:39:37 +0000
 > Responsible-Changed-Why:
 > Take.
 >
 >
 > State-Changed-From-To: open->feedback
 > State-Changed-By: hannken@NetBSD.org
 > State-Changed-When: Mon, 13 May 2019 08:39:37 +0000
 > State-Changed-Why:
 > Committed a fix -- please confirm.
 >
 >
 >

State-Changed-From-To: feedback->closed
State-Changed-By: hannken@NetBSD.org
State-Changed-When: Thu, 16 May 2019 10:06:11 +0000
State-Changed-Why:
Confirmed fixed.

No pullups necessary.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.