[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <92e9622d6dd1bd3e59a36269275aa1fe@paul-moore.com>
Date: Fri, 11 Apr 2025 14:23:44 -0400
From: Paul Moore <paul@...l-moore.com>
To: Richard Guy Briggs <rgb@...hat.com>, Linux-Audit Mailing List <linux-audit@...ts.linux-audit.osci.io>, LKML <linux-kernel@...r.kernel.org>, linux-modules@...r.kernel.org, Linux Kernel Audit Mailing List <audit@...r.kernel.org>
Cc: Eric Paris <eparis@...isplace.org>, Steve Grubb <sgrubb@...hat.com>, Richard Guy Briggs <rgb@...hat.com>
Subject: Re: [PATCH v2] audit,module: restore audit logging in load failure case
On Mar 17, 2025 Richard Guy Briggs <rgb@...hat.com> wrote:
>
> The move of the module sanity check to earlier skipped the audit logging
> call in the case of failure and to a place where the previously used
> context is unavailable.
>
> Add an audit logging call for the module loading failure case and get
> the module name when possible.
>
> Link: https://issues.redhat.com/browse/RHEL-52839
> Fixes: 02da2cbab452 ("module: move check_modinfo() early to early_mod_check()")
> Signed-off-by: Richard Guy Briggs <rgb@...hat.com>
> ---
> Changelog:
> v2
> - use info->name for both audit_log_kern_module() calls and add const
> ---
> include/linux/audit.h | 9 ++++-----
> kernel/audit.h | 2 +-
> kernel/auditsc.c | 2 +-
> kernel/module/main.c | 6 ++++--
> 4 files changed, 10 insertions(+), 9 deletions(-)
Agree with Petr's previous comment about the URL in the commit
description, if it isn't publicly accessible please don't include it in
the commit description; I'm going to remove it.
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 1fb9ad289a6f..efa62ace1b23 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -3346,7 +3346,7 @@ static int load_module(struct load_info *info, const char __user *uargs,
>
> module_allocated = true;
>
> - audit_log_kern_module(mod->name);
> + audit_log_kern_module(info->name);
>
> /* Reserve our place in the list. */
> err = add_unformed_module(mod);
> @@ -3506,8 +3506,10 @@ static int load_module(struct load_info *info, const char __user *uargs,
> * failures once the proper module was allocated and
> * before that.
> */
> - if (!module_allocated)
> + if (!module_allocated) {
> + audit_log_kern_module(info->name ? info->name : "(unavailable)");
In keeping with audit tradition, wouldn't we want this to be "?" instead
of "(unavailable)"?
> mod_stat_bump_becoming(info, flags);
> + }
> free_copy(info, flags);
> return err;
> }
> --
> 2.43.5
--
paul-moore.com
Powered by blists - more mailing lists