On Fri, Jun 5, 2020 at 2:46 PM Mimi Zohar <zohar(a)linux.ibm.com> wrote:
[Cc'ing Paul Moore]
If it's audit related, it's generally best to CC the linux-audit list,
not just me (fixed).
It's not clear to me what this pr_err() is trying to indicate other
than *something* failed. Can someone provide some more background on
this message?
Hi Lakshmi,
On Thu, 2020-06-04 at 09:32 -0700, Lakshmi Ramasubramanian wrote:
> The final log statement in process_buffer_measurement() for failure
> condition is at debug level. This does not log the message unless
> the system log level is raised which would significantly increase
> the messages in the system log. Change this log message to error level,
> and add eventname and ima_hooks enum to the message for better triaging
> failures in the function.
>
> ima_alloc_key_entry() does not log a message for failure condition.
> Add an error message for failure condition in this function.
>
> Signed-off-by: Lakshmi Ramasubramanian <nramas(a)linux.microsoft.com>
These messages should probably be turned into audit messages. Look at
integerity_audit_msg().
Mimi
> ---
> security/integrity/ima/ima_main.c | 3 ++-
> security/integrity/ima/ima_queue_keys.c | 2 ++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
> index 9d0abedeae77..3b371f31597b 100644
> --- a/security/integrity/ima/ima_main.c
> +++ b/security/integrity/ima/ima_main.c
> @@ -756,7 +756,8 @@ void process_buffer_measurement(const void *buf, int size,
>
> out:
> if (ret < 0)
> - pr_devel("%s: failed, result: %d\n", __func__, ret);
> + pr_err("%s failed. eventname: %s, func: %d, result: %d\n",
> + __func__, eventname, func, ret);
>
> return;
> }
> diff --git a/security/integrity/ima/ima_queue_keys.c
b/security/integrity/ima/ima_queue_keys.c
> index cb3e3f501593..e51d0eb08d8a 100644
> --- a/security/integrity/ima/ima_queue_keys.c
> +++ b/security/integrity/ima/ima_queue_keys.c
> @@ -88,6 +88,8 @@ static struct ima_key_entry *ima_alloc_key_entry(struct key
*keyring,
>
> out:
> if (rc) {
> + pr_err("%s failed. keyring: %s, result: %d\n",
> + __func__, keyring->description, rc);
> ima_free_key_entry(entry);
> entry = NULL;
> }
--
paul moore
www.paul-moore.com