]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ima: Add code comments to explain IMA iint cache atomic_flags
authorCoiby Xu <coxu@redhat.com>
Tue, 30 Sep 2025 02:26:57 +0000 (10:26 +0800)
committerMimi Zohar <zohar@linux.ibm.com>
Wed, 11 Mar 2026 21:28:03 +0000 (17:28 -0400)
Explain these atomic flags to improve code readability. For example, the
flag IMA_DIGSIG is to indicate we mustn't update a file's security.ima
on close because the file already has IMA signature. The code comments
for the first three flags come from commit 0d73a55208e9 ("ima:
re-introduce own integrity cache lock") with a minor tweak.

Signed-off-by: Coiby Xu <coxu@redhat.com>
[zohar@linux.ibm.com: remove duplicate "integrity violation", unnecessary commas]
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/ima/ima.h

index c38a9eb945b6886721da3f08dfb8429b2e6e930d..0eea02ff04df6e9abb3d5f825278f21314311675 100644 (file)
@@ -177,7 +177,32 @@ struct ima_kexec_hdr {
                                 IMA_BPRM_APPRAISED | IMA_READ_APPRAISED | \
                                 IMA_CREDS_APPRAISED)
 
-/* IMA iint cache atomic_flags */
+/*
+ * IMA iint cache atomic_flags
+ *
+ * IMA_CHANGE_ATTR - indicates that chATTR() was called (chmod, chown, chgrp)
+ * and file attributes have changed. On file open, it causes IMA to clear
+ * iint->flags to re-evaluate policy and perform IMA functions again.
+ *
+ * IMA_CHANGE_XATTR - indicates that setxattr or removexattr was called and
+ * extended attributes have changed. On file open, it causes IMA to clear
+ * iint->flags IMA_DONE_MASK to re-appraise.
+ *
+ * IMA_UPDATE_XATTR - indicates that security.ima needs to be updated. It is
+ * cleared if file policy changes and no update is needed.
+ *
+ * IMA_DIGSIG - indicates that file security.ima has signature and file
+ * security.ima must not update on file close.
+ *
+ * IMA_MAY_EMIT_TOMTOU - indicates to add Time-of-Measure-Time-of-Use (ToMToU)
+ * integrity violation (a file that is already opened for read is opened for
+ * write) to the measurement list and to also emit an audit message.
+ *
+ * IMA_EMITTED_OPENWRITERS - indicates to add open-writers integrity violation
+ * (a file that is already opened for write is opened for read) to the
+ * measurement list and to also emit an audit message.
+ *
+ */
 #define IMA_CHANGE_XATTR       0
 #define IMA_UPDATE_XATTR       1
 #define IMA_CHANGE_ATTR                2