On 2025-04-11 14:23, Paul Moore wrote:
> On Mar 17, 2025 Richard Guy Briggs <[email protected]> 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 <[email protected]>
> > ---
> > 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.
Sorry, I thought I had checked it more than once to make sure it was
visible. It should be now. Please re-add the link.
> > 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
> _______________________________________________
> Linux-audit mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
- RGB
--
Richard Guy Briggs <[email protected]>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
Upstream IRC: SunRaycer
Voice: +1.613.860 2354 SMS: +1.613.518.6570