diff options
author | kib <kib@FreeBSD.org> | 2014-08-04 01:10:47 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2014-08-04 01:10:47 +0000 |
commit | cec08c72943984a080e6b4dd91ddb8d27f8adf1b (patch) | |
tree | 6cfde26daf606387f516520df9b057d020c00068 /sys/fs/nullfs/null_vnops.c | |
parent | 503271002c5803fd0132e694d53f23d2f1784991 (diff) | |
download | FreeBSD-src-cec08c72943984a080e6b4dd91ddb8d27f8adf1b.zip FreeBSD-src-cec08c72943984a080e6b4dd91ddb8d27f8adf1b.tar.gz |
MFC r269187:
Assert that nullfs vnode has VV_ROOT set whenever lower vnode has.
Assert that dotdot lookup on the root vnode is not performed.
Diffstat (limited to 'sys/fs/nullfs/null_vnops.c')
-rw-r--r-- | sys/fs/nullfs/null_vnops.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index b8b9e0d..481644c 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -372,6 +372,10 @@ null_lookup(struct vop_lookup_args *ap) */ ldvp = NULLVPTOLOWERVP(dvp); vp = lvp = NULL; + KASSERT((ldvp->v_vflag & VV_ROOT) == 0 || + ((dvp->v_vflag & VV_ROOT) != 0 && (flags & ISDOTDOT) == 0), + ("ldvp %p fl %#x dvp %p fl %#x flags %#x", ldvp, ldvp->v_vflag, + dvp, dvp->v_vflag, flags)); error = VOP_LOOKUP(ldvp, &lvp, cnp); if (error == EJUSTRETURN && (flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && |