/linux/fs/ |
H A D | xattr.c | 1299 int simple_xattr_get(struct simple_xattrs *xattrs, const char *name, in simple_xattr_get() argument 1306 read_lock(&xattrs->lock); in simple_xattr_get() 1307 rbp = rb_find(name, &xattrs->rb_root, rbtree_simple_xattr_cmp); in simple_xattr_get() 1318 read_unlock(&xattrs->lock); in simple_xattr_get() 1348 struct simple_xattr *simple_xattr_set(struct simple_xattrs *xattrs, in simple_xattr_set() argument 1369 write_lock(&xattrs->lock); in simple_xattr_set() 1370 rbp = &xattrs->rb_root.rb_node; in simple_xattr_set() 1393 &new_xattr->rb_node, &xattrs->rb_root); in simple_xattr_set() 1395 rb_erase(&old_xattr->rb_node, &xattrs->rb_root); in simple_xattr_set() 1409 rb_insert_color(&new_xattr->rb_node, &xattrs->rb_root); in simple_xattr_set() [all …]
|
/linux/security/integrity/evm/ |
H A D | Kconfig | 32 bool "Additional SMACK xattrs" 36 Include additional SMACK xattrs for HMAC calculation. 38 In addition to the original security xattrs (eg. security.selinux, 41 Smack xattrs: security.SMACK64EXEC, security.SMACK64TRANSMUTE and 53 Allow userland to provide additional xattrs for HMAC calculation. 55 When this option is enabled, root can add additional xattrs to the
|
H A D | evm_main.c | 89 int i, xattrs; in evm_init_config() local 91 xattrs = ARRAY_SIZE(evm_config_default_xattrnames); in evm_init_config() 94 for (i = 0; i < xattrs; i++) { in evm_init_config() 1014 const struct qstr *qstr, struct xattr *xattrs, in evm_inode_init_security() argument 1022 if (!(evm_initialized & EVM_INIT_HMAC) || !xattrs) in evm_inode_init_security() 1030 for (xattr = xattrs; xattr->name; xattr++) { in evm_inode_init_security() 1039 evm_xattr = lsm_get_xattr_slot(xattrs, xattr_count); in evm_inode_init_security() 1053 rc = evm_init_hmac(inode, xattrs, xattr_data->digest); in evm_inode_init_security()
|
H A D | evm.h | 84 int evm_init_hmac(struct inode *inode, const struct xattr *xattrs,
|
H A D | evm_crypto.c | 399 int evm_init_hmac(struct inode *inode, const struct xattr *xattrs, in evm_init_hmac() argument 411 for (xattr = xattrs; xattr->name; xattr++) { in evm_init_hmac()
|
/linux/fs/kernfs/ |
H A D | inode.c | 49 simple_xattrs_init(&kn->iattr->xattrs); in __kernfs_iattrs() 148 return simple_xattr_list(d_inode(dentry), &attrs->xattrs, buf, size); in kernfs_iop_listxattr() 302 return simple_xattr_get(&attrs->xattrs, name, value, size); in kernfs_xattr_get() 313 old_xattr = simple_xattr_set(&attrs->xattrs, name, value, size, flags); in kernfs_xattr_set() 345 struct simple_xattrs *xattrs, in kernfs_vfs_user_xattr_add() argument 363 old_xattr = simple_xattr_set(xattrs, full_name, value, size, flags); in kernfs_vfs_user_xattr_add() 384 struct simple_xattrs *xattrs, in kernfs_vfs_user_xattr_rm() argument 391 old_xattr = simple_xattr_set(xattrs, full_name, value, size, flags); in kernfs_vfs_user_xattr_rm() 422 return kernfs_vfs_user_xattr_add(kn, full_name, &attrs->xattrs, in kernfs_vfs_user_xattr_set() 425 return kernfs_vfs_user_xattr_rm(kn, full_name, &attrs->xattrs, in kernfs_vfs_user_xattr_set()
|
H A D | kernfs-internal.h | 29 struct simple_xattrs xattrs; member
|
/linux/include/linux/ |
H A D | lsm_hooks.h | 186 static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs, in lsm_get_xattr_slot() argument 189 if (unlikely(!xattrs)) in lsm_get_xattr_slot() 191 return &xattrs[(*xattr_count)++]; in lsm_get_xattr_slot()
|
H A D | evm.h | 22 const struct qstr *qstr, struct xattr *xattrs, 58 struct xattr *xattrs, in evm_inode_init_security() argument
|
H A D | shmem_fs.h | 35 struct simple_xattrs xattrs; /* list of xattrs */ member
|
/linux/fs/ceph/ |
H A D | xattr.c | 803 struct ceph_inode_xattr **xattrs = NULL; in __build_xattrs() local 824 xattrs = kcalloc(numattr, sizeof(struct ceph_inode_xattr *), in __build_xattrs() 827 if (!xattrs) in __build_xattrs() 831 xattrs[i] = kmalloc(sizeof(struct ceph_inode_xattr), in __build_xattrs() 833 if (!xattrs[i]) in __build_xattrs() 841 kfree(xattrs[i]); in __build_xattrs() 842 kfree(xattrs); in __build_xattrs() 843 xattrs = NULL; in __build_xattrs() 857 0, 0, &xattrs[numattr]); in __build_xattrs() 862 kfree(xattrs); in __build_xattrs() [all …]
|
/linux/Documentation/filesystems/ |
H A D | erofs.rst | 172 | ... | inode | xattrs | extents | data inline | ... | inode ... 182 | xattr_ibody_header | shared xattrs | inline xattrs | 218 The size of the optional xattrs is indicated by i_xattr_count in inode 219 header. Large xattrs or xattrs shared by many different files can be 220 stored in shared xattrs metadata rather than inlined right after inode. 222 2. Shared xattrs metadata space 224 Shared xattrs space is similar to the above inode space, started with 280 only a few common prefixes (such as overlayfs xattrs). The predefined prefixes
|
H A D | overlayfs.rst | 387 appropriate REDIRECT and METACOPY xattrs, and gain access to file on lower 389 "trusted." xattrs will require CAP_SYS_ADMIN. But it should be possible 469 When a layer containing verity xattrs is used, it means that any such 552 that have overlayfs attributes, such as whiteouts or "overlay.*" xattrs will be 556 Overlayfs specific xattrs are escaped by using a special prefix of 756 filesystem that supports xattrs.
|
/linux/fs/overlayfs/ |
H A D | Makefile | 9 copy_up.o export.o params.o xattrs.o
|
/linux/Documentation/admin-guide/cifs/ |
H A D | todo.rst | 36 (stat, statfs, create, unlink, mkdir, xattrs) already have been improved by 49 h) implement support for security and trusted categories of xattrs
|
/linux/security/apparmor/include/ |
H A D | policy.h | 183 * @xattr_count: number of xattrs in table 184 * @xattrs: table of xattrs 191 char **xattrs; member
|
/linux/fs/ubifs/ |
H A D | Kconfig | 70 Saying Y here includes support for extended attributes (xattrs).
|
/linux/Documentation/ABI/testing/ |
H A D | evm | 6 EVM protects a file's security extended attributes(xattrs)
|
/linux/security/apparmor/ |
H A D | policy_unpack.c | 538 if (aa_unpack_nameX(e, AA_STRUCT, "xattrs")) { in unpack_xattrs() 545 profile->attach.xattrs = kcalloc(size, sizeof(char *), GFP_KERNEL); in unpack_xattrs() 546 if (!profile->attach.xattrs) in unpack_xattrs() 549 if (!aa_unpack_strdup(e, &profile->attach.xattrs[i], NULL)) in unpack_xattrs() 984 info = "failed to unpack profile xattrs"; in unpack_profile()
|
H A D | policy.c | 237 kfree_sensitive(attach->xattrs[i]); in free_attachment() 238 kfree_sensitive(attach->xattrs); in free_attachment()
|
/linux/Documentation/security/ |
H A D | ipe.rst | 21 as a result, xattrs would have to be protected. This lead to a selection 46 modify filesystem offline, the attacker could wipe all the xattrs - 50 With DM-Verity, as the xattrs are saved as part of the Merkel tree, if
|
/linux/Documentation/filesystems/ext4/ |
H A D | attributes.rst | 6 Extended attributes (xattrs) are typically stored in a separate data
|
/linux/fs/erofs/ |
H A D | Kconfig | 11 xattrs/data, chunk-based deduplication, multiple devices, etc.) for
|
/linux/mm/ |
H A D | shmem.c | 1305 simple_xattrs_free(&info->xattrs, sbinfo->max_inodes ? &freed : NULL); in shmem_evict_inode() 2900 simple_xattrs_init(&info->xattrs); in __shmem_get_inode() 4107 simple_xattr_add(&info->xattrs, new_xattr); in shmem_initxattrs() 4116 simple_xattrs_free(&info->xattrs, NULL); in shmem_initxattrs() 4130 return simple_xattr_get(&info->xattrs, name, buffer, size); in shmem_xattr_handler_get() 4157 old_xattr = simple_xattr_set(&info->xattrs, name, value, size, flags); in shmem_xattr_handler_set() 4204 return simple_xattr_list(d_inode(dentry), &info->xattrs, buffer, size); in shmem_listxattr()
|
/linux/fs/squashfs/ |
H A D | Kconfig | 146 Saying Y here includes support for extended attributes (xattrs).
|