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