diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-04-22 09:36:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-04-22 09:36:45 -0700 |
commit | e4b51cb60e16f09b95c9ee567692aaec50087747 (patch) | |
tree | ed5fab8da99ddecd38fff6c9429472ab792ccd85 | |
parent | a33b5a08cbbdd7aadff95f40cbb45ab86841679e (diff) | |
parent | 30d68cb0c37ebe2dc63aa1d46a28b9163e61caa2 (diff) | |
download | linux-e4b51cb60e16f09b95c9ee567692aaec50087747.tar.gz linux-e4b51cb60e16f09b95c9ee567692aaec50087747.tar.bz2 linux-e4b51cb60e16f09b95c9ee567692aaec50087747.zip |
Merge tag 'integrity-6.15-rc3-fix' of https://github.com/linux-integrity/linux
Pull integrity fix from Roberto Sassu:
"One performance fix to avoid unnecessarily taking the inode lock"
* tag 'integrity-6.15-rc3-fix' of https://github.com/linux-integrity/linux:
ima: process_measurement() needlessly takes inode_lock() on MAY_READ
-rw-r--r-- | security/integrity/ima/ima_main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c index f3e7ac513db3..f99ab1a3b0f0 100644 --- a/security/integrity/ima/ima_main.c +++ b/security/integrity/ima/ima_main.c @@ -245,7 +245,9 @@ static int process_measurement(struct file *file, const struct cred *cred, &allowed_algos); violation_check = ((func == FILE_CHECK || func == MMAP_CHECK || func == MMAP_CHECK_REQPROT) && - (ima_policy_flag & IMA_MEASURE)); + (ima_policy_flag & IMA_MEASURE) && + ((action & IMA_MEASURE) || + (file->f_mode & FMODE_WRITE))); if (!action && !violation_check) return 0; |