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