FreeBSD kernel kern code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/mount.h>
#include <sys/priv.h>
#include <sys/vnode.h>
#include <sys/errno.h>
#include <sys/stat.h>
#include <sys/sysctl.h>
#include <sys/acl.h>
Go to the source code of this file.
Functions | |
__FBSDID ("$BSDSUniX$") | |
static void | acl_nfs4_trivial_from_mode (struct acl *aclp, mode_t mode) |
SYSCTL_INT (_vfs, OID_AUTO, acl_nfs4_old_semantics, CTLFLAG_RW,&acl_nfs4_old_semantics, 0,"Use pre-PSARC/2010/029 NFSv4 ACL semantics") | |
static int | _access_mask_from_accmode (accmode_t accmode) |
static int | _acl_denies (const struct acl *aclp, int access_mask, struct ucred *cred, int file_uid, int file_gid, int *denied_explicitly) |
int | vaccess_acl_nfs4 (enum vtype type, uid_t file_uid, gid_t file_gid, struct acl *aclp, accmode_t accmode, struct ucred *cred, int *privused) |
static int | _acl_entry_matches (struct acl_entry *entry, acl_tag_t tag, acl_perm_t perm, acl_entry_type_t entry_type) |
static struct acl_entry * | _acl_append (struct acl *aclp, acl_tag_t tag, acl_perm_t perm, acl_entry_type_t entry_type) |
static struct acl_entry * | _acl_duplicate_entry (struct acl *aclp, int entry_index) |
static void | acl_nfs4_sync_acl_from_mode_draft (struct acl *aclp, mode_t mode, int file_owner_id) |
void | acl_nfs4_sync_acl_from_mode (struct acl *aclp, mode_t mode, int file_owner_id) |
void | acl_nfs4_sync_mode_from_acl (mode_t *_mode, const struct acl *aclp) |
static void | acl_nfs4_compute_inherited_acl_draft (const struct acl *parent_aclp, struct acl *child_aclp, mode_t mode, int file_owner_id, int is_directory) |
static void | acl_nfs4_inherit_entries (const struct acl *parent_aclp, struct acl *child_aclp, mode_t mode, int file_owner_id, int is_directory) |
static void | acl_nfs4_compute_inherited_acl_psarc (const struct acl *parent_aclp, struct acl *aclp, mode_t mode, int file_owner_id, int is_directory) |
void | acl_nfs4_compute_inherited_acl (const struct acl *parent_aclp, struct acl *child_aclp, mode_t mode, int file_owner_id, int is_directory) |
static int | _acls_are_equal (const struct acl *a, const struct acl *b) |
int | acl_nfs4_is_trivial (const struct acl *aclp, int file_owner_id) |
int | acl_nfs4_check (const struct acl *aclp, int is_directory) |
Variables | |
static int | acl_nfs4_old_semantics = 0 |
struct { | |
accmode_t accmode | |
int mask | |
} | accmode2mask [] |
__FBSDID | ( | "$BSDSUniX$" | ) |
|
static |
Definition at line 85 of file subr_acl_nfs4.c.
References accmode2mask.
Referenced by vaccess_acl_nfs4().
|
static |
Definition at line 327 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_compute_inherited_acl_psarc(), and acl_nfs4_sync_acl_from_mode_draft().
|
static |
Definition at line 108 of file subr_acl_nfs4.c.
References groupmember().
Referenced by vaccess_acl_nfs4().
|
static |
Definition at line 348 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_compute_inherited_acl_draft(), and acl_nfs4_sync_acl_from_mode_draft().
|
static |
Definition at line 305 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_sync_acl_from_mode_draft().
|
static |
Definition at line 1237 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_is_trivial().
int acl_nfs4_check | ( | const struct acl * | aclp, |
int | is_directory | ||
) |
Definition at line 1307 of file subr_acl_nfs4.c.
void acl_nfs4_compute_inherited_acl | ( | const struct acl * | parent_aclp, |
struct acl * | child_aclp, | ||
mode_t | mode, | ||
int | file_owner_id, | ||
int | is_directory | ||
) |
Definition at line 1190 of file subr_acl_nfs4.c.
References acl_nfs4_compute_inherited_acl_draft(), acl_nfs4_compute_inherited_acl_psarc(), and acl_nfs4_old_semantics.
|
static |
Definition at line 849 of file subr_acl_nfs4.c.
References _acl_duplicate_entry(), and acl_nfs4_sync_acl_from_mode().
Referenced by acl_nfs4_compute_inherited_acl().
|
static |
Definition at line 1131 of file subr_acl_nfs4.c.
References _acl_append(), and acl_nfs4_inherit_entries().
Referenced by acl_nfs4_compute_inherited_acl(), and acl_nfs4_trivial_from_mode().
|
static |
Definition at line 1012 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_compute_inherited_acl_psarc().
int acl_nfs4_is_trivial | ( | const struct acl * | aclp, |
int | file_owner_id | ||
) |
Definition at line 1265 of file subr_acl_nfs4.c.
References _acls_are_equal(), acl_alloc(), acl_free(), acl_nfs4_sync_acl_from_mode_draft(), acl_nfs4_sync_mode_from_acl(), and acl_nfs4_trivial_from_mode().
void acl_nfs4_sync_acl_from_mode | ( | struct acl * | aclp, |
mode_t | mode, | ||
int | file_owner_id | ||
) |
Definition at line 710 of file subr_acl_nfs4.c.
References acl_nfs4_old_semantics, acl_nfs4_sync_acl_from_mode_draft(), and acl_nfs4_trivial_from_mode().
Referenced by acl_nfs4_compute_inherited_acl_draft().
|
static |
Definition at line 364 of file subr_acl_nfs4.c.
References _acl_append(), _acl_duplicate_entry(), and _acl_entry_matches().
Referenced by acl_nfs4_is_trivial(), and acl_nfs4_sync_acl_from_mode().
void acl_nfs4_sync_mode_from_acl | ( | mode_t * | _mode, |
const struct acl * | aclp | ||
) |
Definition at line 722 of file subr_acl_nfs4.c.
References mode.
Referenced by acl_nfs4_is_trivial(), and vaccess_acl_nfs4().
|
static |
Definition at line 1211 of file subr_acl_nfs4.c.
References acl_nfs4_compute_inherited_acl_psarc().
Referenced by acl_nfs4_is_trivial(), and acl_nfs4_sync_acl_from_mode().
SYSCTL_INT | ( | _vfs | , |
OID_AUTO | , | ||
acl_nfs4_old_semantics | , | ||
CTLFLAG_RW | , | ||
& | acl_nfs4_old_semantics, | ||
0 | , | ||
"Use pre-PSARC/2010/029 NFSv4 ACL semantics" | |||
) |
int vaccess_acl_nfs4 | ( | enum vtype | type, |
uid_t | file_uid, | ||
gid_t | file_gid, | ||
struct acl * | aclp, | ||
accmode_t | accmode, | ||
struct ucred * | cred, | ||
int * | privused | ||
) |
Definition at line 170 of file subr_acl_nfs4.c.
References _access_mask_from_accmode(), _acl_denies(), accmode, acl_nfs4_sync_mode_from_acl(), and priv_check_cred().
accmode_t accmode |
Definition at line 66 of file subr_acl_nfs4.c.
Referenced by kern_kmq_open(), shm_access(), sys_fhopen(), vaccess(), vaccess_acl_nfs4(), vaccess_acl_posix1e(), vn_access(), vn_open_cred(), and vop_stdaccessx().
struct { ... } accmode2mask[] |
Referenced by _access_mask_from_accmode().
|
static |
Definition at line 60 of file subr_acl_nfs4.c.
Referenced by acl_nfs4_compute_inherited_acl(), and acl_nfs4_sync_acl_from_mode().
int mask |
Definition at line 67 of file subr_acl_nfs4.c.
Referenced by blst_leaf_alloc(), blst_leaf_fill(), blst_leaf_free(), cpuset_init(), fd_first_free(), fd_last_used(), intr_event_bind(), intr_getaffinity(), intr_setaffinity(), postsig_done(), runq_findbit_from(), sys_sigsuspend(), and vfs_bio_clrbuf().