diff options
| author | plunky <plunky@NetBSD.org> | 2013-03-18 19:35:35 +0000 |
|---|---|---|
| committer | plunky <plunky@NetBSD.org> | 2013-03-18 19:35:35 +0000 |
| commit | e5c652ae7a4abd2ebad85482f3b8115d5d2ff12e (patch) | |
| tree | ef6ed47cc69a2063bd79584a14deeb4b227628cf /sys | |
| parent | f46d5379cf303bfa36adf59b8d8e0a6dd9fefa04 (diff) | |
C99 section 6.7.2.3 (Tags) Note 3 states that:
A type specifier of the form
enum identifier
without an enumerator list shall only appear after the type it
specifies is complete.
which means that we cannot pass an "enum vtype" argument to
kauth_access_action() without fully specifying the type first.
Unfortunately there is a complicated include file loop which
makes that difficult, so convert this minimal function into a
macro (and capitalize it).
(ok elad@)
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/fs/adosfs/advnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/cd9660/cd9660_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/efs/efs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/filecorefs/filecore_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/hfs/hfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/msdosfs/msdosfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/nilfs/nilfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/ntfs/ntfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/ptyfs/ptyfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/smbfs/smbfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/sysvbfs/sysvbfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/tmpfs/tmpfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/udf/udf_vnops.c | 6 | ||||
| -rw-r--r-- | sys/fs/v7fs/v7fs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/kern/kern_auth.c | 15 | ||||
| -rw-r--r-- | sys/kern/vfs_subr.c | 6 | ||||
| -rw-r--r-- | sys/miscfs/kernfs/kernfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/miscfs/procfs/procfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/nfs/nfs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/sys/kauth.h | 8 | ||||
| -rw-r--r-- | sys/ufs/chfs/chfs_vnops.c | 4 | ||||
| -rw-r--r-- | sys/ufs/ext2fs/ext2fs_vnops.c | 6 | ||||
| -rw-r--r-- | sys/ufs/ufs/ufs_vnops.c | 6 |
23 files changed, 69 insertions, 78 deletions
diff --git a/sys/fs/adosfs/advnops.c b/sys/fs/adosfs/advnops.c index 30a1f5b18bb..6375503bc47 100644 --- a/sys/fs/adosfs/advnops.c +++ b/sys/fs/adosfs/advnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: advnops.c,v 1.40 2012/12/20 08:03:42 hannken Exp $ */ +/* $NetBSD: advnops.c,v 1.41 2013/03/18 19:35:35 plunky Exp $ */ /* * Copyright (c) 1994 Christian E. Hopps @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.40 2012/12/20 08:03:42 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.41 2013/03/18 19:35:35 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -776,7 +776,7 @@ adosfs_check_permitted(struct vnode *vp, struct anode *ap, mode_t mode, { mode_t file_mode = adunixprot(ap->adprot) & ap->amp->mask; - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, file_mode), vp, NULL, genfs_can_access(vp->v_type, file_mode, ap->uid, ap->gid, mode, cred)); } diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 82ec568b2b5..62a95166d68 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: cd9660_vnops.c,v 1.42 2012/12/20 08:03:42 hannken Exp $ */ +/* $NetBSD: cd9660_vnops.c,v 1.43 2013/03/18 19:35:35 plunky Exp $ */ /*- * Copyright (c) 1994 @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.42 2012/12/20 08:03:42 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.43 2013/03/18 19:35:35 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -117,7 +117,7 @@ cd9660_check_permitted(struct vnode *vp, struct iso_node *ip, mode_t mode, kauth_cred_t cred) { - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, ip->inode.iso_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type, ip->inode.iso_mode & ALLPERMS, ip->inode.iso_uid, ip->inode.iso_gid, mode, cred)); diff --git a/sys/fs/efs/efs_vnops.c b/sys/fs/efs/efs_vnops.c index 59b0edf5824..802c378b8f4 100644 --- a/sys/fs/efs/efs_vnops.c +++ b/sys/fs/efs/efs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: efs_vnops.c,v 1.29 2012/12/20 08:03:42 hannken Exp $ */ +/* $NetBSD: efs_vnops.c,v 1.30 2013/03/18 19:35:36 plunky Exp $ */ /* * Copyright (c) 2006 Stephen M. Rumble <rumble@ephemeral.org> @@ -17,7 +17,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: efs_vnops.c,v 1.29 2012/12/20 08:03:42 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: efs_vnops.c,v 1.30 2013/03/18 19:35:36 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -149,7 +149,7 @@ efs_check_permitted(struct vnode *vp, struct efs_inode *eip, mode_t mode, kauth_cred_t cred) { - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, eip->ei_mode), vp, NULL, genfs_can_access(vp->v_type, eip->ei_mode, eip->ei_uid, eip->ei_gid, mode, cred)); } diff --git a/sys/fs/filecorefs/filecore_vnops.c b/sys/fs/filecorefs/filecore_vnops.c index c8f3b95d370..7b8d9502c83 100644 --- a/sys/fs/filecorefs/filecore_vnops.c +++ b/sys/fs/filecorefs/filecore_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: filecore_vnops.c,v 1.35 2012/12/20 08:03:42 hannken Exp $ */ +/* $NetBSD: filecore_vnops.c,v 1.36 2013/03/18 19:35:36 plunky Exp $ */ /*- * Copyright (c) 1994 The Regents of the University of California. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: filecore_vnops.c,v 1.35 2012/12/20 08:03:42 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: filecore_vnops.c,v 1.36 2013/03/18 19:35:36 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -126,7 +126,7 @@ filecore_check_permitted(struct vnode *vp, struct filecore_node *ip, { struct filecore_mnt *fcmp = ip->i_mnt; - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, filecore_mode(ip)), vp, NULL, genfs_can_access(vp->v_type, filecore_mode(ip), fcmp->fc_uid, fcmp->fc_gid, mode, cred)); diff --git a/sys/fs/hfs/hfs_vnops.c b/sys/fs/hfs/hfs_vnops.c index 788e23756fe..0f2cfe11da3 100644 --- a/sys/fs/hfs/hfs_vnops.c +++ b/sys/fs/hfs/hfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: hfs_vnops.c,v 1.26 2012/07/22 00:53:19 rmind Exp $ */ +/* $NetBSD: hfs_vnops.c,v 1.27 2013/03/18 19:35:37 plunky Exp $ */ /*- * Copyright (c) 2005, 2007 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hfs_vnops.c,v 1.26 2012/07/22 00:53:19 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hfs_vnops.c,v 1.27 2013/03/18 19:35:37 plunky Exp $"); #ifdef _KERNEL_OPT #include "opt_ipsec.h" @@ -556,7 +556,7 @@ hfs_check_permitted(vnode_t *vp, struct vattr *va, mode_t mode, kauth_cred_t cred) { - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, va->va_type, va->va_mode), vp, NULL, genfs_can_access(va->va_type, va->va_mode, va->va_uid, va->va_gid, mode, cred)); } diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 2562f1527b0..cd1cfcf5d61 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: msdosfs_vnops.c,v 1.85 2012/12/28 08:03:59 hannken Exp $ */ +/* $NetBSD: msdosfs_vnops.c,v 1.86 2013/03/18 19:35:37 plunky Exp $ */ /*- * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank. @@ -48,7 +48,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.85 2012/12/28 08:03:59 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.86 2013/03/18 19:35:37 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -223,7 +223,7 @@ msdosfs_check_permitted(struct vnode *vp, struct denode *dep, mode_t mode, file_mode &= (vp->v_type == VDIR ? pmp->pm_dirmask : pmp->pm_mask); - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, file_mode), vp, NULL, genfs_can_access(vp->v_type, file_mode, pmp->pm_uid, pmp->pm_gid, mode, cred)); } diff --git a/sys/fs/nilfs/nilfs_vnops.c b/sys/fs/nilfs/nilfs_vnops.c index 105b35cba9f..9159640ca6e 100644 --- a/sys/fs/nilfs/nilfs_vnops.c +++ b/sys/fs/nilfs/nilfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: nilfs_vnops.c,v 1.20 2012/11/05 17:27:37 dholland Exp $ */ +/* $NetBSD: nilfs_vnops.c,v 1.21 2013/03/18 19:35:38 plunky Exp $ */ /* * Copyright (c) 2008, 2009 Reinoud Zandijk @@ -28,7 +28,7 @@ #include <sys/cdefs.h> #ifndef lint -__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.20 2012/11/05 17:27:37 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.21 2013/03/18 19:35:38 plunky Exp $"); #endif /* not lint */ @@ -1038,7 +1038,7 @@ nilfs_check_permitted(struct vnode *vp, struct vattr *vap, mode_t mode, { /* ask the generic genfs_can_access to advice on security */ - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, vap->va_mode), vp, NULL, genfs_can_access(vp->v_type, vap->va_mode, vap->va_uid, vap->va_gid, mode, cred)); } diff --git a/sys/fs/ntfs/ntfs_vnops.c b/sys/fs/ntfs/ntfs_vnops.c index 262ab501744..9690168df9d 100644 --- a/sys/fs/ntfs/ntfs_vnops.c +++ b/sys/fs/ntfs/ntfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: ntfs_vnops.c,v 1.54 2012/11/05 17:27:38 dholland Exp $ */ +/* $NetBSD: ntfs_vnops.c,v 1.55 2013/03/18 19:35:38 plunky Exp $ */ /* * Copyright (c) 1992, 1993 @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ntfs_vnops.c,v 1.54 2012/11/05 17:27:38 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ntfs_vnops.c,v 1.55 2013/03/18 19:35:38 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -424,7 +424,7 @@ ntfs_check_permitted(struct vnode *vp, struct ntnode *ip, mode_t mode, file_mode = ip->i_mp->ntm_mode | (S_IXUSR|S_IXGRP|S_IXOTH); - return kauth_authorize_vnode(cred, kauth_access_action(mode, vp->v_type, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, file_mode), vp, NULL, genfs_can_access(vp->v_type, file_mode, ip->i_mp->ntm_uid, ip->i_mp->ntm_gid, mode, cred)); } diff --git a/sys/fs/ptyfs/ptyfs_vnops.c b/sys/fs/ptyfs/ptyfs_vnops.c index e209b442fa1..ccdfdfaf769 100644 --- a/sys/fs/ptyfs/ptyfs_vnops.c +++ b/sys/fs/ptyfs/ptyfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: ptyfs_vnops.c,v 1.40 2012/10/24 23:36:15 christos Exp $ */ +/* $NetBSD: ptyfs_vnops.c,v 1.41 2013/03/18 19:35:38 plunky Exp $ */ /* * Copyright (c) 1993, 1995 @@ -76,7 +76,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.40 2012/10/24 23:36:15 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.41 2013/03/18 19:35:38 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -536,7 +536,7 @@ ptyfs_access(void *v) return error; return kauth_authorize_vnode(ap->a_cred, - kauth_access_action(ap->a_mode, ap->a_vp->v_type, va.va_mode), + KAUTH_ACCESS_ACTION(ap->a_mode, ap->a_vp->v_type, va.va_mode), ap->a_vp, NULL, genfs_can_access(va.va_type, va.va_mode, va.va_uid, va.va_gid, ap->a_mode, ap->a_cred)); diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 80e45dc2a2f..30058e3b2f3 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: smbfs_vnops.c,v 1.85 2012/11/30 23:24:21 nakayama Exp $ */ +/* $NetBSD: smbfs_vnops.c,v 1.86 2013/03/18 19:35:39 plunky Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: smbfs_vnops.c,v 1.85 2012/11/30 23:24:21 nakayama Exp $"); +__KERNEL_RCSID(0, "$NetBSD: smbfs_vnops.c,v 1.86 2013/03/18 19:35:39 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -193,7 +193,7 @@ smbfs_check_permitted(struct vnode *vp, struct smbnode *np, mode_t mode, mode_t file_mode = (vp->v_type == VDIR) ? smp->sm_args.dir_mode : smp->sm_args.file_mode; - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, file_mode), vp, NULL, genfs_can_access(vp->v_type, file_mode, smp->sm_args.uid, smp->sm_args.gid, mode, cred)); } diff --git a/sys/fs/sysvbfs/sysvbfs_vnops.c b/sys/fs/sysvbfs/sysvbfs_vnops.c index 22c3151c0a2..9f6a866743f 100644 --- a/sys/fs/sysvbfs/sysvbfs_vnops.c +++ b/sys/fs/sysvbfs/sysvbfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: sysvbfs_vnops.c,v 1.46 2012/06/11 21:11:41 agc Exp $ */ +/* $NetBSD: sysvbfs_vnops.c,v 1.47 2013/03/18 19:35:40 plunky Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vnops.c,v 1.46 2012/06/11 21:11:41 agc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vnops.c,v 1.47 2013/03/18 19:35:40 plunky Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -251,7 +251,7 @@ sysvbfs_check_permitted(struct vnode *vp, struct sysvbfs_node *bnode, { struct bfs_fileattr *attr = &bnode->inode->attr; - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, attr->mode), vp, NULL, genfs_can_access(vp->v_type, attr->mode, attr->uid, attr->gid, mode, cred)); } diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 83c98b2b2a1..b3b650e4c09 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: tmpfs_vnops.c,v 1.100 2012/11/05 17:27:39 dholland Exp $ */ +/* $NetBSD: tmpfs_vnops.c,v 1.101 2013/03/18 19:35:40 plunky Exp $ */ /* * Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.100 2012/11/05 17:27:39 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.101 2013/03/18 19:35:40 plunky Exp $"); #include <sys/param.h> #include <sys/dirent.h> @@ -422,7 +422,7 @@ tmpfs_access(void *v) return EPERM; } - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, node->tn_mode), vp, NULL, genfs_can_access(vp->v_type, node->tn_mode, node->tn_uid, node->tn_gid, mode, cred)); } diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index d3f51988e2b..ea26c36d0e9 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: udf_vnops.c,v 1.74 2012/11/05 17:27:39 dholland Exp $ */ +/* $NetBSD: udf_vnops.c,v 1.75 2013/03/18 19:35:41 plunky Exp $ */ /* * Copyright (c) 2006, 2008 Reinoud Zandijk @@ -32,7 +32,7 @@ #include <sys/cdefs.h> #ifndef lint -__KERNEL_RCSID(0, "$NetBSD: udf_vnops.c,v 1.74 2012/11/05 17:27:39 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: udf_vnops.c,v 1.75 2013/03/18 19:35:41 plunky Exp $"); #endif /* not lint */ @@ -1377,7 +1377,7 @@ udf_check_permitted(struct vnode *vp, struct vattr *vap, mode_t mode, { /* ask the generic genfs_can_access to advice on security */ - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, vap->va_mode), vp, NULL, genfs_can_access(vp->v_type, vap->va_mode, vap->va_uid, vap->va_gid, mode, cred)); } diff --git a/sys/fs/v7fs/v7fs_vnops.c b/sys/fs/v7fs/v7fs_vnops.c index ad6122f3465..e358afe4ae5 100644 --- a/sys/fs/v7fs/v7fs_vnops.c +++ b/sys/fs/v7fs/v7fs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: v7fs_vnops.c,v 1.11 2012/04/29 22:54:00 chs Exp $ */ +/* $NetBSD: v7fs_vnops.c,v 1.12 2013/03/18 19:35:42 plunky Exp $ */ /*- * Copyright (c) 2004, 2011 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: v7fs_vnops.c,v 1.11 2012/04/29 22:54:00 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: v7fs_vnops.c,v 1.12 2013/03/18 19:35:42 plunky Exp $"); #if defined _KERNEL_OPT #include "opt_v7fs.h" #endif @@ -374,7 +374,7 @@ v7fs_check_permitted(struct vnode *vp, struct v7fs_node *v7node, struct v7fs_inode *inode = &v7node->inode; - return kauth_authorize_vnode(cred, kauth_access_action(mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, inode->mode), vp, NULL, genfs_can_access(vp->v_type, inode->mode, inode->uid, inode->gid, mode, cred)); } diff --git a/sys/kern/kern_auth.c b/sys/kern/kern_auth.c index 31f4853d128..6c9ca32fd69 100644 --- a/sys/kern/kern_auth.c +++ b/sys/kern/kern_auth.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_auth.c,v 1.72 2012/09/16 14:35:26 christos Exp $ */ +/* $NetBSD: kern_auth.c,v 1.73 2013/03/18 19:35:42 plunky Exp $ */ /*- * Copyright (c) 2005, 2006 Elad Efrat <elad@NetBSD.org> @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_auth.c,v 1.72 2012/09/16 14:35:26 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_auth.c,v 1.73 2013/03/18 19:35:42 plunky Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -1079,17 +1079,6 @@ kauth_mode_to_action(mode_t mode) } kauth_action_t -kauth_access_action(mode_t access_mode, enum vtype vn_type, mode_t file_mode) -{ - kauth_action_t action = kauth_mode_to_action(access_mode); - - if (FS_OBJECT_CAN_EXEC(vn_type, file_mode)) - action |= KAUTH_VNODE_IS_EXEC; - - return action; -} - -kauth_action_t kauth_extattr_action(mode_t access_mode) { kauth_action_t action = 0; diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 4b2534ae3d3..27317bbc114 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_subr.c,v 1.436 2013/02/13 14:03:48 hannken Exp $ */ +/* $NetBSD: vfs_subr.c,v 1.437 2013/03/18 19:35:43 plunky Exp $ */ /*- * Copyright (c) 1997, 1998, 2004, 2005, 2007, 2008 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.436 2013/02/13 14:03:48 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_subr.c,v 1.437 2013/03/18 19:35:43 plunky Exp $"); #include "opt_ddb.h" #include "opt_compat_netbsd.h" @@ -768,7 +768,7 @@ vaccess(enum vtype type, mode_t file_mode, uid_t uid, gid_t gid, printf("vaccess: deprecated interface used.\n"); #endif /* DIAGNOSTIC */ - return kauth_authorize_vnode(cred, kauth_access_action(acc_mode, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(acc_mode, type, file_mode), NULL /* This may panic. */, NULL, genfs_can_access(type, file_mode, uid, gid, acc_mode, cred)); } diff --git a/sys/miscfs/kernfs/kernfs_vnops.c b/sys/miscfs/kernfs/kernfs_vnops.c index 1519a236cea..fe1f75027af 100644 --- a/sys/miscfs/kernfs/kernfs_vnops.c +++ b/sys/miscfs/kernfs/kernfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: kernfs_vnops.c,v 1.146 2012/03/22 20:34:38 drochner Exp $ */ +/* $NetBSD: kernfs_vnops.c,v 1.147 2013/03/18 19:35:44 plunky Exp $ */ /* * Copyright (c) 1992, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.146 2012/03/22 20:34:38 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.147 2013/03/18 19:35:44 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -586,7 +586,7 @@ kernfs_access(void *v) return (error); return kauth_authorize_vnode(ap->a_cred, - kauth_access_action(ap->a_mode, ap->a_vp->v_type, va.va_mode), + KAUTH_ACCESS_ACTION(ap->a_mode, ap->a_vp->v_type, va.va_mode), ap->a_vp, NULL, genfs_can_access(va.va_type, va.va_mode, va.va_uid, va.va_gid, ap->a_mode, ap->a_cred)); } diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c index 3428c6d700e..ff6bd82da11 100644 --- a/sys/miscfs/procfs/procfs_vnops.c +++ b/sys/miscfs/procfs/procfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_vnops.c,v 1.185 2012/11/25 01:03:05 christos Exp $ */ +/* $NetBSD: procfs_vnops.c,v 1.186 2013/03/18 19:35:44 plunky Exp $ */ /*- * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -105,7 +105,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.185 2012/11/25 01:03:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.186 2013/03/18 19:35:44 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -955,7 +955,7 @@ procfs_access(void *v) return (error); return kauth_authorize_vnode(ap->a_cred, - kauth_access_action(ap->a_mode, ap->a_vp->v_type, va.va_mode), + KAUTH_ACCESS_ACTION(ap->a_mode, ap->a_vp->v_type, va.va_mode), ap->a_vp, NULL, genfs_can_access(va.va_type, va.va_mode, va.va_uid, va.va_gid, ap->a_mode, ap->a_cred)); } diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 11eccf1097f..b7e91644612 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: nfs_vnops.c,v 1.298 2012/11/07 02:31:48 macallan Exp $ */ +/* $NetBSD: nfs_vnops.c,v 1.299 2013/03/18 19:35:45 plunky Exp $ */ /* * Copyright (c) 1989, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nfs_vnops.c,v 1.298 2012/11/07 02:31:48 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nfs_vnops.c,v 1.299 2013/03/18 19:35:45 plunky Exp $"); #ifdef _KERNEL_OPT #include "opt_nfs.h" @@ -3366,7 +3366,7 @@ nfsspec_access(void *v) } } - return kauth_authorize_vnode(ap->a_cred, kauth_access_action(ap->a_mode, + return kauth_authorize_vnode(ap->a_cred, KAUTH_ACCESS_ACTION(ap->a_mode, va.va_type, va.va_mode), vp, NULL, genfs_can_access(va.va_type, va.va_mode, va.va_uid, va.va_gid, ap->a_mode, ap->a_cred)); } diff --git a/sys/sys/kauth.h b/sys/sys/kauth.h index 5796081c6bc..6e534243568 100644 --- a/sys/sys/kauth.h +++ b/sys/sys/kauth.h @@ -1,4 +1,4 @@ -/* $NetBSD: kauth.h,v 1.70 2012/06/27 12:28:28 cheusov Exp $ */ +/* $NetBSD: kauth.h,v 1.71 2013/03/18 19:35:46 plunky Exp $ */ /*- * Copyright (c) 2005, 2006 Elad Efrat <elad@NetBSD.org> @@ -45,7 +45,6 @@ struct proc; struct tty; struct vnode; struct cwdinfo; -enum vtype; /* Types. */ typedef struct kauth_scope *kauth_scope_t; @@ -483,9 +482,12 @@ void kauth_cred_toucred(kauth_cred_t, struct ki_ucred *); void kauth_cred_topcred(kauth_cred_t, struct ki_pcred *); kauth_action_t kauth_mode_to_action(mode_t); -kauth_action_t kauth_access_action(mode_t, enum vtype, mode_t); kauth_action_t kauth_extattr_action(mode_t); +#define KAUTH_ACCESS_ACTION(access_mode, vn_vtype, file_mode) \ + (kauth_mode_to_action(access_mode) | \ + (FS_OBJECT_CAN_EXEC(vn_vtype, file_mode) ? KAUTH_VNODE_IS_EXEC : 0)) + kauth_cred_t kauth_cred_get(void); void kauth_proc_fork(struct proc *, struct proc *); diff --git a/sys/ufs/chfs/chfs_vnops.c b/sys/ufs/chfs/chfs_vnops.c index 1ddaae44c84..2a444b83e5c 100644 --- a/sys/ufs/chfs/chfs_vnops.c +++ b/sys/ufs/chfs/chfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: chfs_vnops.c,v 1.14 2013/01/22 09:39:15 dholland Exp $ */ +/* $NetBSD: chfs_vnops.c,v 1.15 2013/03/18 19:35:47 plunky Exp $ */ /*- * Copyright (c) 2010 Department of Software Engineering, @@ -393,7 +393,7 @@ chfs_access(void *v) if (mode & VWRITE && ip->flags & IMMUTABLE) return (EPERM); - return kauth_authorize_vnode(cred, kauth_access_action(mode, vp->v_type, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, ip->mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type, ip->mode & ALLPERMS, ip->uid, ip->gid, mode, cred)); } diff --git a/sys/ufs/ext2fs/ext2fs_vnops.c b/sys/ufs/ext2fs/ext2fs_vnops.c index c882bf5fb31..afe9bb416fb 100644 --- a/sys/ufs/ext2fs/ext2fs_vnops.c +++ b/sys/ufs/ext2fs/ext2fs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: ext2fs_vnops.c,v 1.106 2013/01/22 09:39:15 dholland Exp $ */ +/* $NetBSD: ext2fs_vnops.c,v 1.107 2013/03/18 19:35:47 plunky Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1993 @@ -65,7 +65,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.106 2013/01/22 09:39:15 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.107 2013/03/18 19:35:47 plunky Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -253,7 +253,7 @@ ext2fs_check_permitted(struct vnode *vp, struct inode *ip, mode_t mode, kauth_cred_t cred) { - return kauth_authorize_vnode(cred, kauth_access_action(mode, vp->v_type, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, ip->i_e2fs_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type, ip->i_e2fs_mode & ALLPERMS, ip->i_uid, ip->i_gid, mode, cred)); } diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 30929ca669d..cfe18c906d8 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: ufs_vnops.c,v 1.211 2013/01/22 09:39:19 dholland Exp $ */ +/* $NetBSD: ufs_vnops.c,v 1.212 2013/03/18 19:35:48 plunky Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.211 2013/01/22 09:39:19 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.212 2013/03/18 19:35:48 plunky Exp $"); #if defined(_KERNEL_OPT) #include "opt_ffs.h" @@ -345,7 +345,7 @@ ufs_check_permitted(struct vnode *vp, struct inode *ip, mode_t mode, kauth_cred_t cred) { - return kauth_authorize_vnode(cred, kauth_access_action(mode, vp->v_type, + return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type, ip->i_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type, ip->i_mode & ALLPERMS, ip->i_uid, ip->i_gid, mode, cred)); } |
