Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/fs/v7fs/v7fs_vnops.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/fs/v7fs/v7fs_vnops.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.6 retrieving revision 1.7 diff -u -p -r1.6 -r1.7 --- src/sys/fs/v7fs/v7fs_vnops.c 2011/07/30 03:53:18 1.6 +++ src/sys/fs/v7fs/v7fs_vnops.c 2012/01/27 12:22:02 1.7 @@ -1,4 +1,4 @@ -/* $NetBSD: v7fs_vnops.c,v 1.6 2011/07/30 03:53:18 uch Exp $ */ +/* $NetBSD: v7fs_vnops.c,v 1.7 2012/01/27 12:22:02 njoly Exp $ */ /*- * Copyright (c) 2004, 2011 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: v7fs_vnops.c,v 1.6 2011/07/30 03:53:18 uch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: v7fs_vnops.c,v 1.7 2012/01/27 12:22:02 njoly Exp $"); #if defined _KERNEL_OPT #include "opt_v7fs.h" #endif @@ -161,6 +161,13 @@ v7fs_lookup(void *v) return error; } + if ((nameiop == DELETE) && islastcn) { + if ((error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred))) { + DPRINTF("access denied. (%s)\n", name); + return error; + } + } + /* Entry found. Allocate v-node */ // Check permissions? vpp = 0;