FreeBSD kernel kern code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/capsicum.h>
#include <sys/lock.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/sysproto.h>
#include <sys/fcntl.h>
#include <sys/namei.h>
#include <sys/filedesc.h>
#include <sys/limits.h>
#include <sys/vnode.h>
#include <sys/proc.h>
#include <sys/extattr.h>
#include <security/audit/audit.h>
#include <security/mac/mac_framework.h>
Go to the source code of this file.
Data Structures | |
struct | extattrctl_args |
struct | extattr_set_fd_args |
struct | extattr_set_file_args |
struct | extattr_set_link_args |
struct | extattr_get_fd_args |
struct | extattr_get_file_args |
struct | extattr_get_link_args |
struct | extattr_delete_fd_args |
struct | extattr_delete_file_args |
struct | extattr_delete_link_args |
struct | extattr_list_fd_args |
struct | extattr_list_file_args |
struct | extattr_list_link_args |
Functions | |
__FBSDID ("$FreeBSD$") | |
static int | kern_extattr_set_path (struct thread *td, const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes, int follow) |
static int | kern_extattr_get_path (struct thread *td, const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes, int follow) |
static int | kern_extattr_delete_path (struct thread *td, const char *path, int attrnamespace, const char *attrname, int follow) |
static int | kern_extattr_list_path (struct thread *td, const char *path, int attrnamespace, void *data, size_t nbytes, int follow) |
int | sys_extattrctl (struct thread *td, struct extattrctl_args *uap) |
static int | extattr_set_vp (struct vnode *vp, int attrnamespace, const char *attrname, void *data, size_t nbytes, struct thread *td) |
int | sys_extattr_set_fd (struct thread *td, struct extattr_set_fd_args *uap) |
int | sys_extattr_set_file (struct thread *td, struct extattr_set_file_args *uap) |
int | sys_extattr_set_link (struct thread *td, struct extattr_set_link_args *uap) |
static int | extattr_get_vp (struct vnode *vp, int attrnamespace, const char *attrname, void *data, size_t nbytes, struct thread *td) |
int | sys_extattr_get_fd (struct thread *td, struct extattr_get_fd_args *uap) |
int | sys_extattr_get_file (struct thread *td, struct extattr_get_file_args *uap) |
int | sys_extattr_get_link (struct thread *td, struct extattr_get_link_args *uap) |
static int | extattr_delete_vp (struct vnode *vp, int attrnamespace, const char *attrname, struct thread *td) |
int | sys_extattr_delete_fd (struct thread *td, struct extattr_delete_fd_args *uap) |
int | sys_extattr_delete_file (struct thread *td, struct extattr_delete_file_args *uap) |
int | sys_extattr_delete_link (struct thread *td, struct extattr_delete_link_args *uap) |
static int | extattr_list_vp (struct vnode *vp, int attrnamespace, void *data, size_t nbytes, struct thread *td) |
int | sys_extattr_list_fd (struct thread *td, struct extattr_list_fd_args *uap) |
struct extattr_list_file_args | sys_extattr_list_file (struct thread *td, struct extattr_list_file_args *uap) |
int | sys_extattr_list_link (struct thread *td, struct extattr_list_link_args *uap) |
Variables | |
const char * | path |
int | attrnamespace |
void * | data |
size_t | nbytes |
struct extattr_list_link_args | sys_extattr_list_file |
__FBSDID | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 494 of file vfs_extattr.c.
References attrnamespace, vn_finished_write(), and vn_start_write().
Referenced by kern_extattr_delete_path(), and sys_extattr_delete_fd().
|
static |
Definition at line 329 of file vfs_extattr.c.
References attrnamespace, data, and nbytes.
Referenced by kern_extattr_get_path(), and sys_extattr_get_fd().
|
static |
Definition at line 624 of file vfs_extattr.c.
References attrnamespace, data, and nbytes.
Referenced by kern_extattr_list_path(), and sys_extattr_list_fd().
|
static |
Definition at line 173 of file vfs_extattr.c.
References attrnamespace, data, nbytes, vn_finished_write(), and vn_start_write().
Referenced by kern_extattr_set_path(), and sys_extattr_set_fd().
|
static |
Definition at line 589 of file vfs_extattr.c.
References attrnamespace, extattr_delete_vp(), namei(), NDFREE(), path, and vrele().
Referenced by sys_extattr_delete_file(), and sys_extattr_delete_link().
|
static |
Definition at line 457 of file vfs_extattr.c.
References attrnamespace, data, extattr_get_vp(), namei(), nbytes, NDFREE(), path, and vrele().
Referenced by sys_extattr_get_file(), and sys_extattr_get_link().
|
static |
Definition at line 738 of file vfs_extattr.c.
References attrnamespace, data, extattr_list_vp(), namei(), nbytes, NDFREE(), path, and vrele().
Referenced by sys_extattr_list_link().
|
static |
Definition at line 292 of file vfs_extattr.c.
References attrnamespace, data, extattr_set_vp(), namei(), nbytes, NDFREE(), path, and vrele().
Referenced by sys_extattr_set_file(), and sys_extattr_set_link().
int sys_extattr_delete_fd | ( | struct thread * | td, |
struct extattr_delete_fd_args * | uap | ||
) |
Definition at line 533 of file vfs_extattr.c.
References extattr_delete_fd_args::attrname, extattr_delete_fd_args::attrnamespace, extattr_delete_vp(), extattr_delete_fd_args::fd, and getvnode_path().
int sys_extattr_delete_file | ( | struct thread * | td, |
struct extattr_delete_file_args * | uap | ||
) |
Definition at line 566 of file vfs_extattr.c.
References extattr_delete_file_args::attrname, extattr_delete_file_args::attrnamespace, kern_extattr_delete_path(), and extattr_delete_file_args::path.
int sys_extattr_delete_link | ( | struct thread * | td, |
struct extattr_delete_link_args * | uap | ||
) |
Definition at line 581 of file vfs_extattr.c.
References extattr_delete_link_args::attrname, extattr_delete_link_args::attrnamespace, kern_extattr_delete_path(), and extattr_delete_link_args::path.
int sys_extattr_get_fd | ( | struct thread * | td, |
struct extattr_get_fd_args * | uap | ||
) |
Definition at line 398 of file vfs_extattr.c.
References extattr_get_fd_args::attrname, extattr_get_fd_args::attrnamespace, extattr_get_fd_args::data, extattr_get_vp(), extattr_get_fd_args::fd, getvnode_path(), and extattr_get_fd_args::nbytes.
int sys_extattr_get_file | ( | struct thread * | td, |
struct extattr_get_file_args * | uap | ||
) |
Definition at line 434 of file vfs_extattr.c.
References extattr_get_file_args::attrname, extattr_get_file_args::attrnamespace, extattr_get_file_args::data, kern_extattr_get_path(), extattr_get_file_args::nbytes, and extattr_get_file_args::path.
int sys_extattr_get_link | ( | struct thread * | td, |
struct extattr_get_link_args * | uap | ||
) |
Definition at line 450 of file vfs_extattr.c.
References extattr_get_link_args::attrname, extattr_get_link_args::attrnamespace, extattr_get_link_args::data, kern_extattr_get_path(), extattr_get_link_args::nbytes, and extattr_get_link_args::path.
int sys_extattr_list_fd | ( | struct thread * | td, |
struct extattr_list_fd_args * | uap | ||
) |
Definition at line 685 of file vfs_extattr.c.
References extattr_list_fd_args::attrnamespace, extattr_list_fd_args::data, extattr_list_vp(), extattr_list_fd_args::fd, getvnode_path(), and extattr_list_fd_args::nbytes.
struct extattr_list_file_args sys_extattr_list_file | ( | struct thread * | td, |
struct extattr_list_file_args * | uap | ||
) |
Definition at line 685 of file vfs_extattr.c.
int sys_extattr_list_link | ( | struct thread * | td, |
struct extattr_list_link_args * | uap | ||
) |
Definition at line 730 of file vfs_extattr.c.
References extattr_list_link_args::attrnamespace, extattr_list_link_args::data, kern_extattr_list_path(), extattr_list_link_args::nbytes, and extattr_list_link_args::path.
int sys_extattr_set_fd | ( | struct thread * | td, |
struct extattr_set_fd_args * | uap | ||
) |
Definition at line 231 of file vfs_extattr.c.
References extattr_set_fd_args::attrname, extattr_set_fd_args::attrnamespace, extattr_set_fd_args::data, extattr_set_vp(), extattr_set_fd_args::fd, getvnode_path(), and extattr_set_fd_args::nbytes.
int sys_extattr_set_file | ( | struct thread * | td, |
struct extattr_set_file_args * | uap | ||
) |
Definition at line 267 of file vfs_extattr.c.
References extattr_set_file_args::attrname, extattr_set_file_args::attrnamespace, extattr_set_file_args::data, kern_extattr_set_path(), extattr_set_file_args::nbytes, and extattr_set_file_args::path.
int sys_extattr_set_link | ( | struct thread * | td, |
struct extattr_set_link_args * | uap | ||
) |
Definition at line 284 of file vfs_extattr.c.
References extattr_set_link_args::attrname, extattr_set_link_args::attrnamespace, extattr_set_link_args::data, kern_extattr_set_path(), extattr_set_link_args::nbytes, and extattr_set_link_args::path.
int sys_extattrctl | ( | struct thread * | td, |
struct extattrctl_args * | uap | ||
) |
Definition at line 80 of file vfs_extattr.c.
References extattrctl_args::attrname, extattrctl_args::attrnamespace, extattrctl_args::cmd, extattrctl_args::filename, namei(), NDFREE(), extattrctl_args::path, vfs_busy(), vfs_unbusy(), vn_finished_write(), vn_start_write(), and vrele().
int attrnamespace |
Definition at line 716 of file vfs_extattr.c.
Referenced by extattr_check_cred(), extattr_delete_vp(), extattr_get_vp(), extattr_list_vp(), extattr_set_vp(), kern_extattr_delete_path(), kern_extattr_get_path(), kern_extattr_list_path(), kern_extattr_set_path(), vfs_extattrctl_sigdefer(), vn_extattr_get(), vn_extattr_rm(), and vn_extattr_set().
void* data |
Definition at line 717 of file vfs_extattr.c.
Referenced by extattr_get_vp(), extattr_list_vp(), extattr_set_vp(), kern_extattr_get_path(), kern_extattr_list_path(), and kern_extattr_set_path().
size_t nbytes |
Definition at line 718 of file vfs_extattr.c.
Referenced by aio_biowakeup(), aio_qbio(), dumpsys_buf_seek(), extattr_get_vp(), extattr_list_vp(), extattr_set_vp(), kern_extattr_get_path(), kern_extattr_list_path(), kern_extattr_set_path(), link_elf_ctf_get(), link_elf_load_file(), stats_v1_blob_expand(), stats_v1_tpl_add_voistats(), ttyinq_write(), ttyinq_write_nofrag(), ttyoutq_write(), ttyoutq_write_nofrag(), and vn_sendfile().
char * path |
Definition at line 715 of file vfs_extattr.c.
Referenced by dev_wired_cache_add(), dev_wired_cache_match(), devctl2_ioctl(), graph_add_edge(), kern___acl_aclcheck_path(), kern___acl_delete_path(), kern___acl_get_path(), kern___acl_set_path(), kern___realpathat(), kern_alternate_path(), kern_extattr_delete_path(), kern_extattr_get_path(), kern_extattr_list_path(), kern_extattr_set_path(), kern_jail_set(), kern_kmq_open(), kern_shm_open(), kern_shm_open2(), kern_unmount(), ksem_create(), ksem_fill_kinfo(), ksem_insert(), ksem_lookup(), ksem_remove(), linker_basename(), linker_hints_lookup(), linker_lookup_file(), load_interp(), parse_dir_md(), shm_copyin_path(), shm_fill_kinfo_locked(), shm_insert(), shm_lookup(), shm_remove(), start_init(), sys_kmq_unlink(), sys_ksem_unlink(), sys_shm_unlink(), sysctl_load_tunable_by_oid_locked(), and vn_path_to_global_path().
struct extattr_list_link_args sys_extattr_list_file |