Lines Matching defs:xattr
17 #include <linux/xattr.h>
136 /* Protect against 'cutting & pasting' security.evm xattr, include inode
183 * Dump large security xattr values as a continuous ascii hexademical string.
216 * Instead of retrieving the requested xattr, for performance, calculate
217 * the hmac using the requested xattr value. Don't alloc/free memory for
218 * each xattr, but attempt to re-use the previously allocated memory.
227 struct xattr_list *xattr;
246 list_for_each_entry_lockless(xattr, &evm_config_xattrnames, list) {
249 if (strcmp(xattr->name, XATTR_NAME_IMA) == 0)
256 if (type != EVM_XATTR_PORTABLE_DIGSIG && !xattr->enabled)
260 && !strcmp(xattr->name, req_xattr_name)) {
272 size = vfs_getxattr_alloc(&nop_mnt_idmap, dentry, xattr->name,
282 xattr->name, NULL, 0);
284 pr_debug("file %s: xattr %s size mismatch (kernel: %d, user: %d)\n",
285 dentry->d_name.name, xattr->name, size,
293 dump_security_xattr(xattr->name, xattr_value, xattr_size);
352 * Calculate the hmac and update security.evm xattr
364 * Don't permit any transformation of the EVM xattr if the signature
377 data.hdr.xattr.sha1.type = EVM_XATTR_HMAC;
380 &data.hdr.xattr.data[1],
388 int evm_init_hmac(struct inode *inode, const struct xattr *xattrs,
392 const struct xattr *xattr;
400 for (xattr = xattrs; xattr->name; xattr++) {
401 if (!evm_protected_xattr(xattr->name))
404 crypto_shash_update(desc, xattr->value, xattr->value_len);