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: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/50664: "cd .." over NFS/ZFS can panic kernel
Date: Mon, 18 Jan 2016 06:29:21 -0500

 >                 error = nfs_nget(dvp->v_mount, fhp, fhsize, &np);
 > +               if (error == 0 && dvp == NFSTOV(np)) {
 > +                       vput(NFSTOV(np));
 > +                       error = EOPNOTSUPP;
 > +               }
 >                 vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
 
 This isn't working yet. I put a printf in there as well, and it's not
 printing my message before the panic. Also, if DIAGNOSTIC is included,
 it still stops at "KASSERT(dvp != *vpp);".
 
 It's still entering vn_lock here:
 
                 if ((flags & ISDOTDOT) != 0) {
                         VOP_UNLOCK(dvp);
                 }
                 error = vn_lock(newvp, LK_EXCLUSIVE);
                 if ((flags & ISDOTDOT) != 0) {
   -->                   vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
                 }
                 if (error != 0) {
                         /* newvp has been reclaimed. */
                         vrele(newvp);
 
 
 Thanks.
 
 --
 - Brian
 



Home | Main Index | Thread Index | Old Index