]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-darwin-avoid-bogus-name-caching-20060205
authorChaskiel M Grundman <cg2v@andrew.cmu.edu>
Sun, 5 Feb 2006 18:26:48 +0000 (18:26 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 5 Feb 2006 18:26:48 +0000 (18:26 +0000)
FIXES 26225

avoid the possibility of creating bogus cached named vnodes

(cherry picked from commit f504df317572835718037fe177073e3202905753)

src/afs/DARWIN/osi_vnodeops.c

index 3f248179aa12ec016b1eaabed497e21fb132edfd..d7c5d1d0c33c8112c433747832f165c25be672ff 100644 (file)
@@ -2038,7 +2038,10 @@ afs_darwin_finalizevnode(struct vcache *avc, struct vnode *dvp, struct component
    par.vnfs_filesize = avc->m.Length;
    par.vnfs_fsnode = avc;
    par.vnfs_dvp = dvp;
-   par.vnfs_cnp = cnp;
+   if (cnp && (cnp->cn_flags & ISDOTDOT) == 0)
+       par.vnfs_cnp = cnp;
+   if (!dvp || !cnp || (cnp->cn_flags & MAKEENTRY) == 0)
+       par.vnfs_flags = VNFS_NOCACHE;
    if (isroot)
        par.vnfs_markroot = 1;
    error = vnode_create(VNCREATE_FLAVOR, VCREATESIZE, &par, &nvp);