| /linux/security/integrity/evm/ |
| H A D | evm_secfs.c | 132 struct xattr_list *xattr; in evm_read_xattrs() local 141 list_for_each_entry(xattr, &evm_config_xattrnames, list) { in evm_read_xattrs() 142 if (!xattr->enabled) in evm_read_xattrs() 145 size += strlen(xattr->name) + 1; in evm_read_xattrs() 154 list_for_each_entry(xattr, &evm_config_xattrnames, list) { in evm_read_xattrs() 155 if (!xattr->enabled) in evm_read_xattrs() 158 sprintf(temp + offset, "%s\n", xattr->name); in evm_read_xattrs() 159 offset += strlen(xattr->name) + 1; in evm_read_xattrs() 183 struct xattr_list *xattr, *tmp; in evm_write_xattrs() local 202 xattr = kmalloc_obj(struct xattr_list); in evm_write_xattrs() [all …]
|
| H A D | evm_crypto.c | 18 #include <linux/xattr.h> 137 /* Protect against 'cutting & pasting' security.evm xattr, include inode 190 * Dump large security xattr values as a continuous ascii hexadecimal string. in dump_security_xattr_l() 223 * Instead of retrieving the requested xattr, for performance, calculate in evm_calc_hmac_or_hash() 224 * the hmac using the requested xattr value. Don't alloc/free memory for in evm_calc_hmac_or_hash() 225 * each xattr, but attempt to re-use the previously allocated memory. in evm_calc_hmac_or_hash() 235 struct xattr_list *xattr; in evm_calc_hmac_or_hash() 255 list_for_each_entry_lockless(xattr, &evm_config_xattrnames, list) { in evm_calc_hmac_or_hash() 258 if (strcmp(xattr->name, XATTR_NAME_IMA) == 0) in evm_calc_hmac_or_hash() 265 if (type != EVM_XATTR_PORTABLE_DIGSIG && !xattr in evm_calc_hmac_or_hash() 228 struct xattr_list *xattr; evm_calc_hmac_or_hash() local 403 const struct xattr *xattr; evm_init_hmac() local [all...] |
| H A D | evm_main.c | 18 #include <linux/xattr.h> 150 struct xattr_list *xattr; in evm_find_protected_xattrs() 157 list_for_each_entry_lockless(xattr, &evm_config_xattrnames, list) { in is_unsupported_hmac_fs() 158 error = __vfs_getxattr(dentry, inode, xattr->name, NULL, 0); in is_unsupported_hmac_fs() 182 * evm_verify_hmac - calculate and compare the HMAC with the EVM xattr in evm_verify_hmac() 185 * and compare it against the stored security.evm xattr. in evm_verify_hmac() 188 * - use the previously retrieved xattr value and length to calculate the in evm_verify_hmac() 262 /* accept xattr with non-empty signature field */ in evm_verify_hmac() 327 struct xattr_list *xattr; in evm_protected_xattr() 330 list_for_each_entry_lockless(xattr, in evm_protected_xattr() 134 struct xattr_list *xattr; evm_find_protected_xattrs() local 304 struct xattr_list *xattr; evm_protected_xattr_common() local 354 struct xattr_list *xattr; evm_read_protected_xattrs() local 1018 struct xattr *xattr, *evm_xattr; evm_inode_init_security() local [all...] |
| H A D | evm_posix_acl.c | 12 int posix_xattr_acl(const char *xattr) in posix_xattr_acl() argument 14 int xattr_len = strlen(xattr); in posix_xattr_acl() 17 && (strncmp(XATTR_NAME_POSIX_ACL_ACCESS, xattr, xattr_len) == 0)) in posix_xattr_acl() 20 && (strncmp(XATTR_NAME_POSIX_ACL_DEFAULT, xattr, xattr_len) == 0)) in posix_xattr_acl()
|
| /linux/fs/ceph/ |
| H A D | xattr.c | 19 struct ceph_inode_xattr *xattr); 576 struct ceph_inode_xattr *xattr = NULL; in __set_xattr() local 583 xattr = rb_entry(parent, struct ceph_inode_xattr, node); in __set_xattr() 584 c = strncmp(name, xattr->name, min(name_len, xattr->name_len)); in __set_xattr() 590 if (name_len == xattr->name_len) in __set_xattr() 592 else if (name_len < xattr->name_len) in __set_xattr() 597 xattr = NULL; in __set_xattr() 603 if (xattr && (flags & XATTR_CREATE)) in __set_xattr() 605 else if (!xattr && (flags & XATTR_REPLACE)) in __set_xattr() 614 if (xattr) in __set_xattr() [all …]
|
| /linux/fs/hfsplus/ |
| H A D | xattr_security.c | 37 const struct xattr *xattr_array, in hfsplus_initxattrs() 40 const struct xattr *xattr; in hfsplus_initxattrs() local 48 for (xattr = xattr_array; xattr->name != NULL; xattr++) { in hfsplus_initxattrs() 50 if (!strcmp(xattr->name, "")) in hfsplus_initxattrs() 55 XATTR_SECURITY_PREFIX_LEN, xattr->name); in hfsplus_initxattrs() 57 XATTR_SECURITY_PREFIX_LEN + strlen(xattr->name), 0, 1); in hfsplus_initxattrs() 60 xattr->value, xattr->value_len, 0); in hfsplus_initxattrs()
|
| /linux/fs/jffs2/ |
| H A D | security.c | 27 const struct xattr *xattr_array, void *fs_info) in jffs2_initxattrs() 29 const struct xattr *xattr; in jffs2_initxattrs() local 32 for (xattr = xattr_array; xattr->name != NULL; xattr++) { in jffs2_initxattrs() 34 xattr->name, xattr->value, in jffs2_initxattrs() 35 xattr->value_len, 0); in jffs2_initxattrs()
|
| /linux/fs/ext2/ |
| H A D | xattr_security.c | 31 static int ext2_initxattrs(struct inode *inode, const struct xattr *xattr_array, in ext2_initxattrs() 34 const struct xattr *xattr; in ext2_initxattrs() local 37 for (xattr = xattr_array; xattr->name != NULL; xattr++) { in ext2_initxattrs() 39 xattr->name, xattr->value, in ext2_initxattrs() 40 xattr->value_len, 0); in ext2_initxattrs()
|
| H A D | Makefile | 14 ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o xattr_user.o xattr_trusted.o
|
| /linux/fs/ext4/ |
| H A D | xattr_security.c | 36 ext4_initxattrs(struct inode *inode, const struct xattr *xattr_array, in ext4_initxattrs() 39 const struct xattr *xattr; in ext4_initxattrs() local 43 for (xattr = xattr_array; xattr->name != NULL; xattr++) { in ext4_initxattrs() 46 xattr->name, xattr->value, in ext4_initxattrs() 47 xattr->value_len, XATTR_CREATE); in ext4_initxattrs()
|
| /linux/fs/jfs/ |
| H A D | xattr.c | 64 struct jfs_ea_list *xattr; /* buffer containing ea list */ member 447 ea_buf->xattr = NULL; in ea_get() 454 ea_buf->xattr = (struct jfs_ea_list *) ji->i_inline_ea; in ea_get() 466 ea_buf->xattr = (struct jfs_ea_list *) ji->i_inline_ea; in ea_get() 489 ea_buf->xattr = kmalloc(ea_buf->max_size, GFP_KERNEL); in ea_get() 490 if (ea_buf->xattr == NULL) in ea_get() 498 if ((rc = ea_read(inode, ea_buf->xattr))) { in ea_get() 499 kfree(ea_buf->xattr); in ea_get() 500 ea_buf->xattr = NULL; in ea_get() 536 ea_buf->xattr = ea_buf->mp->data; in ea_get() [all …]
|
| /linux/fs/squashfs/ |
| H A D | xattr.c | 32 u64 start = SQUASHFS_XATTR_BLK(squashfs_i(inode)->xattr) in squashfs_listxattr() 34 int offset = SQUASHFS_XATTR_OFFSET(squashfs_i(inode)->xattr); in squashfs_listxattr() 110 u64 start = SQUASHFS_XATTR_BLK(squashfs_i(inode)->xattr) in squashfs_xattr_get() 112 int offset = SQUASHFS_XATTR_OFFSET(squashfs_i(inode)->xattr); in squashfs_xattr_get() 150 u64 xattr; in squashfs_xattr_get() local 160 xattr = le64_to_cpu(xattr_val); in squashfs_xattr_get() 161 start = SQUASHFS_XATTR_BLK(xattr) + in squashfs_xattr_get() 163 offset = SQUASHFS_XATTR_OFFSET(xattr); in squashfs_xattr_get()
|
| H A D | inode.c | 226 xattr_id = le32_to_cpu(sqsh_ino->xattr); in squashfs_read_inode() 280 xattr_id = le32_to_cpu(sqsh_ino->xattr); in squashfs_read_inode() 324 __le32 xattr; in squashfs_read_inode() local 330 err = squashfs_read_metadata(sb, &xattr, &block, in squashfs_read_inode() 331 &offset, sizeof(xattr)); in squashfs_read_inode() 334 xattr_id = le32_to_cpu(xattr); in squashfs_read_inode() 379 xattr_id = le32_to_cpu(sqsh_ino->xattr); in squashfs_read_inode() 421 xattr_id = le32_to_cpu(sqsh_ino->xattr); in squashfs_read_inode() 437 &squashfs_i(inode)->xattr); in squashfs_read_inode()
|
| H A D | xattr_id.c | 29 int *count, unsigned int *size, unsigned long long *xattr) in squashfs_xattr_lookup() argument 48 *xattr = le64_to_cpu(id.xattr); in squashfs_xattr_lookup()
|
| H A D | squashfs_fs.h | 297 __le32 xattr; member 320 __le32 xattr; member 362 __le32 xattr; member 393 __le32 xattr; member 442 __le64 xattr; member
|
| H A D | squashfs_fs_i.h | 16 u64 xattr; member
|
| H A D | xattr.h | 35 unsigned long long *xattr) in squashfs_xattr_lookup() argument
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | eainode.rst | 11 inode's i_atime field is used to store a checksum of the xattr value; 13 sharing of large xattr values between multiple owning inodes. For
|
| /linux/Documentation/security/ |
| H A D | IMA-templates.rst | 82 - 'xattrnames': a list of xattr names (separated by ``|``), only if the xattr is 84 - 'xattrlengths': a list of xattr lengths (u32), only if the xattr is present; 85 - 'xattrvalues': a list of xattr values;
|
| /linux/security/integrity/ima/ |
| H A D | ima_appraise.c | 13 #include <linux/xattr.h> 95 iint->ima_hash->xattr.sha1.type = IMA_XATTR_DIGEST; in ima_fix_xattr() 98 iint->ima_hash->xattr.ng.type = IMA_XATTR_DIGEST_NG; in ima_fix_xattr() 99 iint->ima_hash->xattr.ng.algo = algo; in ima_fix_xattr() 102 &iint->ima_hash->xattr.data[offset], in ima_fix_xattr() 103 (sizeof(iint->ima_hash->xattr) - offset) + in ima_fix_xattr() 238 * xattr_verify - verify xattr digest or signature 274 * xattr length may be longer. md5 hash in previous 275 * version occupied 20 bytes in xattr, instead of 16 447 * Assuming success, compare the xattr has [all...] |
| /linux/include/linux/ |
| H A D | pseudo_fs.h | 9 const struct xattr_handler * const *xattr; member
|
| /linux/fs/nfs/ |
| H A D | nfs.h | 21 const struct xattr_handler * const *xattr; /* NFS xattr handlers */ member
|
| /linux/fs/cachefiles/ |
| H A D | Makefile | 16 xattr.o
|
| /linux/fs/9p/ |
| H A D | Makefile | 14 xattr.o
|
| /linux/fs/orangefs/ |
| H A D | Makefile | 8 orangefs-objs := acl.o file.o orangefs-cache.o orangefs-utils.o xattr.o \
|