NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/50664: "cd .." over NFS/ZFS can panic kernel



The following reply was made to PR kern/50664; it has been noted by GNATS.

From: Brian Marcotte <marcotte%panix.com@localhost>
To: "J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost>
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
	netbsd-bugs%netbsd.org@localhost, gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/50664: "cd .." over NFS/ZFS can panic kernel
Date: Sun, 17 Jan 2016 06:33:49 -0500

 >  If you did, what is the corresponding source of nfs_lookup+0x1207?
 
 (gdb) list *nfs_lookup+0x1207
 0xc023ffc7 is in nfs_lookup (/misc/devel/netbsd/6.1.5/src/sys/nfs/nfs_vnops.c:866).
 861                     if ((flags & ISDOTDOT) != 0) {
 862                             VOP_UNLOCK(dvp);
 863                     }
 864                     error = vn_lock(newvp, LK_EXCLUSIVE);
 865                     if ((flags & ISDOTDOT) != 0) {
 866                             vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
 867                     }
 868                     if (error != 0) {
 869                             /* newvp has been reclaimed. */
 870                             vrele(newvp);
 
 Also, if I add DEBUG, DIAGNOSTIC and LOCKDEBUG, the panic looks like this:
 
 panic: kernel diagnostic assertion "dvp != *vpp" failed: file "/misc/devel/netbsd/6.1.5/src/sys/nfs/nfs_vnops.c", line 821
 cpu0: Begin traceback...
 kern_assert(c03d51d0,c03d5211,c03ec7e0,c03ec70c,335,0,c03734f3,c2b2ca6c,2,caba6c74) at netbsd:kern_assert+0x23
 nfs_lookup(caba6adc,c2b2c798,caba6c74,caba6c74,caba6af4,c0381dc2,c03d01c8,c2b2c798,caba6b2c,caba6c74) at netbsd:nfs_lookup+0x1490
 VOP_LOOKUP(c2b2c798,caba6b2c,caba6c74,c2b2c848,1,c2b2c85c,c0d3d6d0,caba6c1c,caba6c50,c0beb2c0) at netbsd:VOP_LOOKUP+0xa8
 lookup_once(caba6bdc,caba6bd8,4,c2b2c7ac,caba6b80,c0386603,c0e06da0,0,caba6c50,caba6b74) at netbsd:lookup_once+0x19f
 namei_tryemulroot(0,c0b16b40,1,0,c0411830,caba6c50,caba6c74,20,0,0) at netbsd:namei_tryemulroot+0x212
 namei(caba6c50,caba6c90,caba6c90,c0e06da8,c0b65c00,c0d56dc0,0,ffffffff,ffffffff,1) at netbsd:namei+0x29
 chdir_lookup(8065fb4,0,caba6cb8,c0beb2c0,0,0,c0beb2c0,caba6d48,caba6d3c,c02e55ca) at netbsd:chdir_lookup+0x5a
 sys_chdir(c0beb2c0,caba6d00,caba6d28,c029d446,c13e454c,c,c040e2aa,fffffffe,caba6d00,c0d3d6d0) at netbsd:sys_chdir+0x35
 syscall(caba6d48,bb5800b3,bb5000ab,bb50001f,bf7f001f,0,0,bf7febd0,0,8065fb4) at netbsd:syscall+0xaa
 cpu0: End traceback...
 
 Thanks.
 
 --
 - Brian
 



Home | Main Index | Thread Index | Old Index