vnode_authattr_new
Initialize and validate file creation parameters with respect to the current context.
Declaration
int vnode_authattr_new(vnode_t dvp, struct vnode_attr *vap, int noauth, vfs_context_t ctx);Parameters
- dvp:
The directory in which creation will occur.
- vap:
Pointer to vnode_attr struct containing desired attributes to set and their values.
- noauth:
If 1, treat the caller as the superuser, i.e. do not check permissions.
- ctx:
Context for which to authorize actions.
Return Value
KAUTH_RESULT_ALLOW for success, an error to indicate invalid or disallowed attributes.
Discussion
vnode_authattr_new() will fill in unitialized values in the vnode_attr struct with defaults, and will validate the structure with respect to the current context for file creation.
See Also
vnode
vnop_access_descvnop_advlock_descvnop_allocate_descvnop_blktooff_descvnop_blockmap_descvnop_bwrite_descvnop_clonefile_descvnop_close_descvnop_copyfile_descvnop_create_descvnop_default_descvnop_exchange_descvnop_fsync_descvnop_getattr_descvnop_getattrlistbulk_descvnop_getxattr_descvnop_inactive_descvnop_ioctl_descvnop_kqfilt_add_descvnop_kqfilt_remove_descvnop_link_descvnop_listxattr_descvnop_lookup_descvnop_mkdir_descvnop_mknod_descvnop_mmap_check_descvnop_mmap_descvnop_mnomap_descvnop_offtoblk_descvnop_open_descvnop_pagein_descvnop_pageout_descvnop_pathconf_descvnop_print_descvnop_read_descvnop_readdir_descvnop_readdirattr_descvnop_readlink_descvnop_reclaim_descvnop_remove_descvnop_removexattr_descvnop_rename_descvnop_renamex_descvnop_revoke_descvnop_rmdir_descvnop_searchfs_descvnop_select_descvnop_setattr_descvnop_setlabel_descvnop_setxattr_descvnop_strategy_descvnop_symlink_descvnop_truncate_descvnop_whiteout_descvnop_write_descvnode_addfsrefvnode_authattrvnode_authorizevnode_clearautocandidatevnode_cleardirtyvnode_clearfastdevicecandidatevnode_clearfsnodevnode_clearmountedonvnode_clearnocachevnode_clearnoreadaheadvnode_closevnode_createvnode_fsnodevnode_getvnode_get_va_fsidvnode_getattrvnode_getbackingvnodevnode_getnamevnode_getparentvnode_getwithrefvnode_getwithvidvnode_hascleanblksvnode_hasdirtyblksvnode_isautocandidatevnode_isblkvnode_ischrvnode_isdirvnode_isdirtyvnode_isfastdevicecandidatevnode_isfifovnode_isinusevnode_islnkvnode_ismountvnode_ismountedonvnode_isnamedstreamvnode_isnocachevnode_isnoreadaheadvnode_isonexternalstoragevnode_isragevnode_isrecycledvnode_isregvnode_isswapvnode_issystemvnode_isvrootvnode_iteratevnode_lookupvnode_mountvnode_mountedherevnode_needssnapshotsvnode_notifyvnode_openvnode_putvnode_putnamevnode_recyclevnode_refvnode_relevnode_removefsrefvnode_setattrvnode_setautocandidatevnode_setdirtyvnode_setfastdevicecandidatevnode_setmountedonvnode_setmultipathvnode_setnocachevnode_setnoreadaheadvnode_settagvnode_specrdevvnode_startwritevnode_tagvnode_uncache_credentialsvnode_update_identityvnode_vfs64bitreadyvnode_vfsisrdonlyvnode_vfsmaxsymlenvnode_vfsnamevnode_vfstypenumvnode_vidvnode_vtypevnode_waitforwritesvnode_writedonevnode_attrvnode_fsparamvnode_tvnodeopv_descvnodeopv_entry_descvnop_access_argsvnop_advlock_argsvnop_allocate_argsvnop_blktooff_argsvnop_blockmap_argsvnop_bwrite_argsvnop_clonefile_argsvnop_close_argsvnop_copyfile_argsvnop_create_argsvnop_exchange_argsvnop_fsync_argsvnop_generic_argsvnop_getattr_argsvnop_getattrlistbulk_argsvnop_getxattr_argsvnop_inactive_argsvnop_ioctl_argsvnop_kqfilt_add_argsvnop_kqfilt_remove_argsvnop_link_argsvnop_listxattr_argsvnop_lookup_argsvnop_mkdir_argsvnop_mknod_argsvnop_mmap_argsvnop_mmap_check_argsvnop_mnomap_argsvnop_offtoblk_argsvnop_open_argsvnop_pagein_argsvnop_pageout_argsvnop_pathconf_argsvnop_read_argsvnop_readdir_argsvnop_readdirattr_argsvnop_readlink_argsvnop_reclaim_argsvnop_remove_argsvnop_removexattr_argsvnop_rename_argsvnop_renamex_argsvnop_revoke_argsvnop_rmdir_argsvnop_searchfs_argsvnop_select_argsvnop_setattr_argsvnop_setlabel_argsvnop_setxattr_argsvnop_strategy_argsvnop_symlink_argsvnop_whiteout_argsvnop_write_args