Lines Matching refs:name
54 xattr_resolve_name(struct inode *inode, const char **name) in xattr_resolve_name() argument
67 n = strcmp_prefix(*name, xattr_prefix(handler)); in xattr_resolve_name()
74 *name = n; in xattr_resolve_name()
86 xattr_permission(struct inode *inode, const char *name, int mask) in xattr_permission() argument
108 if (!strncmp(name, XATTR_SECURITY_PREFIX, XATTR_SECURITY_PREFIX_LEN) || in xattr_permission()
109 !strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) in xattr_permission()
115 if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN)) { in xattr_permission()
126 if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) { in xattr_permission()
138 __vfs_setxattr(struct dentry *dentry, struct inode *inode, const char *name, in __vfs_setxattr() argument
143 handler = xattr_resolve_name(inode, &name); in __vfs_setxattr()
150 return handler->set(handler, dentry, inode, name, value, size, flags); in __vfs_setxattr()
170 int __vfs_setxattr_noperm(struct dentry *dentry, const char *name, in __vfs_setxattr_noperm() argument
175 int issec = !strncmp(name, XATTR_SECURITY_PREFIX, in __vfs_setxattr_noperm()
181 error = __vfs_setxattr(dentry, inode, name, value, size, flags); in __vfs_setxattr_noperm()
184 security_inode_post_setxattr(dentry, name, value, in __vfs_setxattr_noperm()
195 const char *suffix = name + XATTR_SECURITY_PREFIX_LEN; in __vfs_setxattr_noperm()
209 vfs_setxattr(struct dentry *dentry, const char *name, const void *value, in vfs_setxattr() argument
215 error = xattr_permission(inode, name, MAY_WRITE); in vfs_setxattr()
220 error = security_inode_setxattr(dentry, name, value, size, flags); in vfs_setxattr()
224 error = __vfs_setxattr_noperm(dentry, name, value, size, flags); in vfs_setxattr()
233 xattr_getsecurity(struct inode *inode, const char *name, void *value, in xattr_getsecurity() argument
240 len = security_inode_getsecurity(inode, name, &buffer, false); in xattr_getsecurity()
244 len = security_inode_getsecurity(inode, name, &buffer, true); in xattr_getsecurity()
267 vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value, in vfs_getxattr_alloc() argument
275 error = xattr_permission(inode, name, MAY_READ); in vfs_getxattr_alloc()
279 handler = xattr_resolve_name(inode, &name); in vfs_getxattr_alloc()
284 error = handler->get(handler, dentry, inode, name, NULL, 0, 0); in vfs_getxattr_alloc()
295 error = handler->get(handler, dentry, inode, name, value, error, 0); in vfs_getxattr_alloc()
301 __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name, in __vfs_getxattr() argument
309 error = xattr_permission(inode, name, MAY_READ); in __vfs_getxattr()
313 error = security_inode_getxattr(dentry, name); in __vfs_getxattr()
317 if (!strncmp(name, XATTR_SECURITY_PREFIX, in __vfs_getxattr()
319 const char *suffix = name + XATTR_SECURITY_PREFIX_LEN; in __vfs_getxattr()
330 handler = xattr_resolve_name(inode, &name); in __vfs_getxattr()
335 return handler->get(handler, dentry, inode, name, value, size, flags); in __vfs_getxattr()
340 vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size) in vfs_getxattr() argument
342 return __vfs_getxattr(dentry, dentry->d_inode, name, value, size, 0); in vfs_getxattr()
367 __vfs_removexattr(struct dentry *dentry, const char *name) in __vfs_removexattr() argument
372 handler = xattr_resolve_name(inode, &name); in __vfs_removexattr()
377 return handler->set(handler, dentry, inode, name, NULL, 0, XATTR_REPLACE); in __vfs_removexattr()
382 vfs_removexattr(struct dentry *dentry, const char *name) in vfs_removexattr() argument
387 error = xattr_permission(inode, name, MAY_WRITE); in vfs_removexattr()
392 error = security_inode_removexattr(dentry, name); in vfs_removexattr()
396 error = __vfs_removexattr(dentry, name); in vfs_removexattr()
400 evm_inode_post_removexattr(dentry, name); in vfs_removexattr()
414 setxattr(struct dentry *d, const char __user *name, const void __user *value, in setxattr() argument
424 error = strncpy_from_user(kname, name, sizeof(kname)); in setxattr()
459 const char __user *name, const void __user *value, in path_setxattr() argument
470 error = setxattr(path.dentry, name, value, size, flags); in path_setxattr()
482 const char __user *, name, const void __user *, value, in SYSCALL_DEFINE5()
485 return path_setxattr(pathname, name, value, size, flags, LOOKUP_FOLLOW); in SYSCALL_DEFINE5()
489 const char __user *, name, const void __user *, value, in SYSCALL_DEFINE5()
492 return path_setxattr(pathname, name, value, size, flags, 0); in SYSCALL_DEFINE5()
495 SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name, in SYSCALL_DEFINE5() argument
506 error = setxattr(f.file->f_path.dentry, name, value, size, flags); in SYSCALL_DEFINE5()
517 getxattr(struct dentry *d, const char __user *name, void __user *value, in getxattr() argument
524 error = strncpy_from_user(kname, name, sizeof(kname)); in getxattr()
557 const char __user *name, void __user *value, in path_getxattr() argument
566 error = getxattr(path.dentry, name, value, size); in path_getxattr()
576 const char __user *, name, void __user *, value, size_t, size) in SYSCALL_DEFINE4()
578 return path_getxattr(pathname, name, value, size, LOOKUP_FOLLOW); in SYSCALL_DEFINE4()
582 const char __user *, name, void __user *, value, size_t, size) in SYSCALL_DEFINE4()
584 return path_getxattr(pathname, name, value, size, 0); in SYSCALL_DEFINE4()
587 SYSCALL_DEFINE4(fgetxattr, int, fd, const char __user *, name, in SYSCALL_DEFINE4() argument
596 error = getxattr(f.file->f_path.dentry, name, value, size); in SYSCALL_DEFINE4()
680 removexattr(struct dentry *d, const char __user *name) in removexattr() argument
685 error = strncpy_from_user(kname, name, sizeof(kname)); in removexattr()
695 const char __user *name, unsigned int lookup_flags) in path_removexattr() argument
705 error = removexattr(path.dentry, name); in path_removexattr()
717 const char __user *, name) in SYSCALL_DEFINE2()
719 return path_removexattr(pathname, name, LOOKUP_FOLLOW); in SYSCALL_DEFINE2()
723 const char __user *, name) in SYSCALL_DEFINE2()
725 return path_removexattr(pathname, name, 0); in SYSCALL_DEFINE2()
728 SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name) in SYSCALL_DEFINE2() argument
738 error = removexattr(f.file->f_path.dentry, name); in SYSCALL_DEFINE2()
757 if (!handler->name || in generic_listxattr()
760 size += strlen(handler->name) + 1; in generic_listxattr()
767 if (!handler->name || in generic_listxattr()
770 len = strlen(handler->name); in generic_listxattr()
773 memcpy(buf, handler->name, len + 1); in generic_listxattr()
799 const char *name) in xattr_full_name() argument
803 return name - prefix_len; in xattr_full_name()
832 int simple_xattr_get(struct simple_xattrs *xattrs, const char *name, in simple_xattr_get() argument
840 if (strcmp(name, xattr->name)) in simple_xattr_get()
870 int simple_xattr_set(struct simple_xattrs *xattrs, const char *name, in simple_xattr_set() argument
883 new_xattr->name = kstrdup(name, GFP_KERNEL); in simple_xattr_set()
884 if (!new_xattr->name) { in simple_xattr_set()
892 if (!strcmp(name, xattr->name)) { in simple_xattr_set()
914 kfree(xattr->name); in simple_xattr_set()
921 static bool xattr_is_trusted(const char *name) in xattr_is_trusted() argument
923 return !strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN); in xattr_is_trusted()
927 const char *name) in xattr_list_one() argument
929 size_t len = strlen(name) + 1; in xattr_list_one()
933 memcpy(*buffer, name, len); in xattr_list_one()
971 if (!trusted && xattr_is_trusted(xattr->name)) in simple_xattr_list()
974 err = xattr_list_one(&buffer, &remaining_size, xattr->name); in simple_xattr_list()