umber-kernel/security/integrity/evm
Roberto Sassu ede7b0f33c evm: Use ordered xattrs list to calculate HMAC in evm_init_hmac()
[ Upstream commit 0496fc9cdc384f67be4413b1c6156eb64fccd5c4 ]

Commit 8e5d9f916a96 ("smack: deduplicate xattr setting in
smack_inode_init_security()") introduced xattr_dupval() to simplify setting
the xattrs to be provided by the SMACK LSM on inode creation, in the
smack_inode_init_security().

Unfortunately, moving lsm_get_xattr_slot() caused the SMACK64TRANSMUTE
xattr be added in the array of new xattrs before SMACK64. This causes the
HMAC of xattrs calculated by evm_init_hmac() for new files to diverge from
the one calculated by both evm_calc_hmac_or_hash() and evmctl.

evm_init_hmac() calculates the HMAC of the xattrs of new files based on the
order LSMs provide them, while evm_calc_hmac_or_hash() and evmctl calculate
the HMAC based on an ordered xattrs list.

Fix the issue by making evm_init_hmac() calculate the HMAC of new files
based on the ordered xattrs list too.

Fixes: 8e5d9f916a96 ("smack: deduplicate xattr setting in smack_inode_init_security()")
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-02-26 14:59:14 -08:00
..
Kconfig evm: Make it independent from 'integrity' LSM 2024-02-15 23:43:47 -05:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
evm.h evm: Store and detect metadata inode attributes changes 2024-04-09 17:14:57 -04:00
evm_crypto.c evm: Use ordered xattrs list to calculate HMAC in evm_init_hmac() 2026-02-26 14:59:14 -08:00
evm_main.c integrity: fix typos and spelling errors 2025-02-04 21:36:43 -05:00
evm_posix_acl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
evm_secfs.c evm_secfs: clear securityfs interactions 2025-06-17 18:10:30 -04:00