Re: [PATCH v3 2/3] IMA: Add log statements for failure conditions.

From: Tushar Sugandhi
Date: Wed Feb 12 2020 - 17:30:29 EST




On 2020-02-12 6:47 a.m., Mimi Zohar wrote:
Hi Tushar,

Please remove the period at the end of the ÂSubject line.
Thanks. I will fix it in the next iteration.

On Tue, 2020-02-11 at 15:14 -0800, Tushar Sugandhi wrote:
process_buffer_measurement() does not have log messages for failure
conditions.

This change adds a log statement in the above function.

I agree some form of notification needs to be added. ÂThe question is
whether the failure should be audited or a kernel message emitted.
ÂIMA emits audit messages (integrity_audit_msg) for a number of
reasons - on failure to calculate a file hash, invalid policy rules,
failure to communicate with the TPM, signature verification errors,
etc.
I believe both IMA audit messages and kernel message should be emitted -
for better discoverability and diagnosability.


Signed-off-by: Tushar Sugandhi <tusharsu@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Lakshmi Ramasubramanian <nramas@xxxxxxxxxxxxxxxxxxx>
Suggested-by: Joe Perches <joe@xxxxxxxxxxx>
---
security/integrity/ima/ima_main.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
index 9fe949c6a530..6e1576d9eb48 100644
--- a/security/integrity/ima/ima_main.c
+++ b/security/integrity/ima/ima_main.c
@@ -757,6 +757,9 @@ void process_buffer_measurement(const void *buf, int size,
ima_free_template_entry(entry);
out:
+ if (ret < 0)
+ pr_err("%s: failed, result: %d\n", __func__, ret);
+
return;
}

With 3/3 "IMA: Add module name and base name prefix to log", the
resulting message will be "KBUILD_MODNAME: KBUILD_BASENAME: func:".
ÂIsn't that a bit much?

For this specific message, it will look like below.
"ima: ima_main: process_buffer_measurement: failed, result: %d"

In general, adding KBUILD_BASENAME seems helpful to pinpoint the location of the issue.


Mimi