Re: [PATCH 2/5] codetag: Run module_load hooks for builtin codetags

From: Kees Cook
Date: Wed Sep 11 2024 - 18:18:03 EST


On Thu, Aug 29, 2024 at 08:02:13AM -0700, Suren Baghdasaryan wrote:
> On Fri, Aug 9, 2024 at 12:33 AM Kees Cook <kees@xxxxxxxxxx> wrote:
> >
> > The module_load callback should still run for builtin codetags that
> > define it, even in a non-modular kernel. (i.e. for the cmod->mod == NULL
> > case).
> >
> > Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
>
> Hi Kees,
> I finally got some time and started reviewing your patches.
> Coincidentally I recently posted a fix for this issue at
> https://lore.kernel.org/all/20240828231536.1770519-1-surenb@xxxxxxxxxx/
> Your fix is missing a small part when codetag_module_init() is using
> mod->name while struct module is undefined (CONFIG_MODULES=n) and you
> should see this build error:
>
> In file included from ./include/linux/kernel.h:31,
> from ./include/linux/cpumask.h:11,
> from ./include/linux/smp.h:13,
> from ./include/linux/lockdep.h:14,
> from ./include/linux/radix-tree.h:14,
> from ./include/linux/idr.h:15,
> from lib/codetag.c:3:
> lib/codetag.c: In function ‘codetag_module_init’:
> CC drivers/acpi/acpica/extrace.o
> lib/codetag.c:167:34: error: invalid use of undefined type ‘struct module’
> 167 | mod ? mod->name : "(built-in)");
> | ^~

Ah-ha! Excellent. Thanks; I will double-check that your version of this
doesn't have any surprises for how I was using it here. I expect it'll
be fine.

-Kees

--
Kees Cook