Thread (19 messages) 19 messages, 4 authors, 2019-06-14

Re: [PATCH V8 1/3] Define a new IMA hook to measure the boot command line arguments

From: prakhar srivastava <hidden>
Date: 2019-06-14 17:49:09
Also in: linux-integrity, lkml

On Thu, Jun 13, 2019 at 12:22 PM Mimi Zohar [off-list ref] wrote:
Hi Prakhar,

Patches titles in the subject line need to be prefixed with the
subsystem, in this case "ima: ".

On Wed, 2019-06-12 at 15:15 -0700, Prakhar Srivastava wrote:
quoted
This patch adds support in ima to measure kexec cmdline args
during soft reboot(kexec_file_load).
Based on the patch title, the word "ima" is redundant.  Patch
descriptions are suppose to be written in the third person. "This
patch adds" is unnecessary.  Please review section 3 "Describe your
changes" in Documentation/process/submitting-patches.rst.
quoted
- A new ima hook ima_kexec_cmdline is defined to be called by the
kexec code.
- A new function process_buffer_measurement is defined to measure
the buffer hash into the ima log.
- A new func policy KEXEC_CMDLINE is defined to control the
 measurement.[Suggested by Mimi]

Signed-off-by: Prakhar Srivastava <redacted>
quoted
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
index fd9b01881d17..98e351e13557 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -292,6 +292,13 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode,
 {
      int i;

+     /* only incase of KEXEC_CMDLINE, inode is NULL */
+     if (func == KEXEC_CMDLINE) {
+             if ((rule->flags & IMA_FUNC) &&
+                     (rule->func == func) && (!inode))
Thank you for fixing the other formatting issues.  Here's another one.
 Is checking !inode needed?
Since i am adding a new type(buffer) for measurement, and only
one (file or buffer) can be passed in, this is guarding against passing
the func as KEXEC_CMDLINE for a file.
I will remove it, since the check will still return true/false, if the
rule doesn't
exist.

and fix other formatting issues.
Thanks,
- Prakhar Srivastava
Mimi
quoted
+                     return true;
+             return false;
+     }
      if ((rule->flags & IMA_FUNC) &&
          (rule->func != func && func != POST_SETATTR))
              return false;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help