svn commit: r201019 - head/sys/kern
Edward Tomasz Napierala
trasz at FreeBSD.org
Sat Dec 26 11:36:10 UTC 2009
Author: trasz
Date: Sat Dec 26 11:36:10 2009
New Revision: 201019
URL: http://svn.freebsd.org/changeset/base/201019
Log:
Now that all the callers seem to be fixed, add KASSERTs to make sure VAPPEND
is not being used improperly.
Modified:
head/sys/kern/subr_acl_nfs4.c
head/sys/kern/subr_acl_posix1e.c
head/sys/kern/vfs_subr.c
Modified: head/sys/kern/subr_acl_nfs4.c
==============================================================================
--- head/sys/kern/subr_acl_nfs4.c Sat Dec 26 11:03:10 2009 (r201018)
+++ head/sys/kern/subr_acl_nfs4.c Sat Dec 26 11:36:10 2009 (r201019)
@@ -163,6 +163,14 @@ vaccess_acl_nfs4(enum vtype type, uid_t
int denied, explicitly_denied, access_mask, is_directory,
must_be_owner = 0;
+ KASSERT((accmode & ~(VEXEC | VWRITE | VREAD | VADMIN | VAPPEND |
+ VEXPLICIT_DENY | VREAD_NAMED_ATTRS | VWRITE_NAMED_ATTRS |
+ VDELETE_CHILD | VREAD_ATTRIBUTES | VWRITE_ATTRIBUTES | VDELETE |
+ VREAD_ACL | VWRITE_ACL | VWRITE_OWNER | VSYNCHRONIZE)) == 0,
+ ("invalid bit in accmode"));
+ KASSERT((accmode & VAPPEND) == 0 || (accmode & VWRITE),
+ ("VAPPEND without VWRITE"));
+
if (privused != NULL)
*privused = 0;
Modified: head/sys/kern/subr_acl_posix1e.c
==============================================================================
--- head/sys/kern/subr_acl_posix1e.c Sat Dec 26 11:03:10 2009 (r201018)
+++ head/sys/kern/subr_acl_posix1e.c Sat Dec 26 11:36:10 2009 (r201019)
@@ -63,6 +63,8 @@ vaccess_acl_posix1e(enum vtype type, uid
KASSERT((accmode & ~(VEXEC | VWRITE | VREAD | VADMIN | VAPPEND)) == 0,
("invalid bit in accmode"));
+ KASSERT((accmode & VAPPEND) == 0 || (accmode & VWRITE),
+ ("VAPPEND without VWRITE"));
/*
* Look for a normal, non-privileged way to access the file/directory
Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c Sat Dec 26 11:03:10 2009 (r201018)
+++ head/sys/kern/vfs_subr.c Sat Dec 26 11:36:10 2009 (r201019)
@@ -3534,6 +3534,8 @@ vaccess(enum vtype type, mode_t file_mod
KASSERT((accmode & ~(VEXEC | VWRITE | VREAD | VADMIN | VAPPEND)) == 0,
("invalid bit in accmode"));
+ KASSERT((accmode & VAPPEND) == 0 || (accmode & VWRITE),
+ ("VAPPEND without VWRITE"));
/*
* Look for a normal, non-privileged way to access the file/directory
More information about the svn-src-all
mailing list