Lines Matching refs:name
32 xattr_permission(struct inode *inode, const char *name, int mask) in xattr_permission() argument
47 if (!strncmp(name, XATTR_SECURITY_PREFIX, XATTR_SECURITY_PREFIX_LEN) || in xattr_permission()
48 !strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) in xattr_permission()
54 if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN)) { in xattr_permission()
65 if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) { in xattr_permission()
92 int __vfs_setxattr_noperm(struct dentry *dentry, const char *name, in __vfs_setxattr_noperm() argument
97 int issec = !strncmp(name, XATTR_SECURITY_PREFIX, in __vfs_setxattr_noperm()
103 error = inode->i_op->setxattr(dentry, name, value, size, flags); in __vfs_setxattr_noperm()
106 security_inode_post_setxattr(dentry, name, value, in __vfs_setxattr_noperm()
110 const char *suffix = name + XATTR_SECURITY_PREFIX_LEN; in __vfs_setxattr_noperm()
122 vfs_setxattr(struct dentry *dentry, const char *name, const void *value, in vfs_setxattr() argument
128 error = xattr_permission(inode, name, MAY_WRITE); in vfs_setxattr()
133 error = security_inode_setxattr(dentry, name, value, size, flags); in vfs_setxattr()
137 error = __vfs_setxattr_noperm(dentry, name, value, size, flags); in vfs_setxattr()
146 xattr_getsecurity(struct inode *inode, const char *name, void *value, in xattr_getsecurity() argument
153 len = security_inode_getsecurity(inode, name, &buffer, false); in xattr_getsecurity()
157 len = security_inode_getsecurity(inode, name, &buffer, true); in xattr_getsecurity()
181 vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value, in vfs_getxattr_alloc() argument
188 error = xattr_permission(inode, name, MAY_READ); in vfs_getxattr_alloc()
195 error = inode->i_op->getxattr(dentry, name, NULL, 0); in vfs_getxattr_alloc()
206 error = inode->i_op->getxattr(dentry, name, value, error); in vfs_getxattr_alloc()
231 vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size) in vfs_getxattr() argument
236 error = xattr_permission(inode, name, MAY_READ); in vfs_getxattr()
240 error = security_inode_getxattr(dentry, name); in vfs_getxattr()
244 if (!strncmp(name, XATTR_SECURITY_PREFIX, in vfs_getxattr()
246 const char *suffix = name + XATTR_SECURITY_PREFIX_LEN; in vfs_getxattr()
258 error = inode->i_op->getxattr(dentry, name, value, size); in vfs_getxattr()
287 vfs_removexattr(struct dentry *dentry, const char *name) in vfs_removexattr() argument
295 error = xattr_permission(inode, name, MAY_WRITE); in vfs_removexattr()
300 error = security_inode_removexattr(dentry, name); in vfs_removexattr()
304 error = inode->i_op->removexattr(dentry, name); in vfs_removexattr()
308 evm_inode_post_removexattr(dentry, name); in vfs_removexattr()
322 setxattr(struct dentry *d, const char __user *name, const void __user *value, in setxattr() argument
333 error = strncpy_from_user(kname, name, sizeof(kname)); in setxattr()
368 const char __user *name, const void __user *value, in path_setxattr() argument
379 error = setxattr(path.dentry, name, value, size, flags); in path_setxattr()
391 const char __user *, name, const void __user *, value, in SYSCALL_DEFINE5()
394 return path_setxattr(pathname, name, value, size, flags, LOOKUP_FOLLOW); in SYSCALL_DEFINE5()
398 const char __user *, name, const void __user *, value, in SYSCALL_DEFINE5()
401 return path_setxattr(pathname, name, value, size, flags, 0); in SYSCALL_DEFINE5()
404 SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name, in SYSCALL_DEFINE5() argument
415 error = setxattr(f.file->f_path.dentry, name, value, size, flags); in SYSCALL_DEFINE5()
426 getxattr(struct dentry *d, const char __user *name, void __user *value, in getxattr() argument
434 error = strncpy_from_user(kname, name, sizeof(kname)); in getxattr()
472 const char __user *name, void __user *value, in path_getxattr() argument
481 error = getxattr(path.dentry, name, value, size); in path_getxattr()
491 const char __user *, name, void __user *, value, size_t, size) in SYSCALL_DEFINE4()
493 return path_getxattr(pathname, name, value, size, LOOKUP_FOLLOW); in SYSCALL_DEFINE4()
497 const char __user *, name, void __user *, value, size_t, size) in SYSCALL_DEFINE4()
499 return path_getxattr(pathname, name, value, size, 0); in SYSCALL_DEFINE4()
502 SYSCALL_DEFINE4(fgetxattr, int, fd, const char __user *, name, in SYSCALL_DEFINE4() argument
511 error = getxattr(f.file->f_path.dentry, name, value, size); in SYSCALL_DEFINE4()
601 removexattr(struct dentry *d, const char __user *name) in removexattr() argument
606 error = strncpy_from_user(kname, name, sizeof(kname)); in removexattr()
616 const char __user *name, unsigned int lookup_flags) in path_removexattr() argument
626 error = removexattr(path.dentry, name); in path_removexattr()
638 const char __user *, name) in SYSCALL_DEFINE2()
640 return path_removexattr(pathname, name, LOOKUP_FOLLOW); in SYSCALL_DEFINE2()
644 const char __user *, name) in SYSCALL_DEFINE2()
646 return path_removexattr(pathname, name, 0); in SYSCALL_DEFINE2()
649 SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name) in SYSCALL_DEFINE2() argument
659 error = removexattr(f.file->f_path.dentry, name); in SYSCALL_DEFINE2()
695 xattr_resolve_name(const struct xattr_handler **handlers, const char **name) in xattr_resolve_name() argument
699 if (!*name) in xattr_resolve_name()
703 const char *n = strcmp_prefix(*name, handler->prefix); in xattr_resolve_name()
705 *name = n; in xattr_resolve_name()
716 generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size) in generic_getxattr() argument
720 handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name); in generic_getxattr()
723 return handler->get(handler, dentry, name, buffer, size); in generic_getxattr()
761 generic_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) in generic_setxattr() argument
767 handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name); in generic_setxattr()
770 return handler->set(handler, dentry, name, value, size, flags); in generic_setxattr()
778 generic_removexattr(struct dentry *dentry, const char *name) in generic_removexattr() argument
782 handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name); in generic_removexattr()
785 return handler->set(handler, dentry, name, NULL, 0, XATTR_REPLACE); in generic_removexattr()
809 const char *name) in xattr_full_name() argument
813 return name - prefix_len; in xattr_full_name()
842 int simple_xattr_get(struct simple_xattrs *xattrs, const char *name, in simple_xattr_get() argument
850 if (strcmp(name, xattr->name)) in simple_xattr_get()
866 static int __simple_xattr_set(struct simple_xattrs *xattrs, const char *name, in __simple_xattr_set() argument
879 new_xattr->name = kstrdup(name, GFP_KERNEL); in __simple_xattr_set()
880 if (!new_xattr->name) { in __simple_xattr_set()
888 if (!strcmp(name, xattr->name)) { in __simple_xattr_set()
910 kfree(xattr->name); in __simple_xattr_set()
931 int simple_xattr_set(struct simple_xattrs *xattrs, const char *name, in simple_xattr_set() argument
936 return __simple_xattr_set(xattrs, name, value, size, flags); in simple_xattr_set()
942 int simple_xattr_remove(struct simple_xattrs *xattrs, const char *name) in simple_xattr_remove() argument
944 return __simple_xattr_set(xattrs, name, NULL, 0, XATTR_REPLACE); in simple_xattr_remove()
947 static bool xattr_is_trusted(const char *name) in xattr_is_trusted() argument
949 return !strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN); in xattr_is_trusted()
967 if (!trusted && xattr_is_trusted(xattr->name)) in simple_xattr_list()
970 len = strlen(xattr->name) + 1; in simple_xattr_list()
977 memcpy(buffer, xattr->name, len); in simple_xattr_list()