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 <k...@kernel.org> --- Cc: Suren Baghdasaryan <sur...@google.com> Cc: Kent Overstreet <kent.overstr...@linux.dev> Cc: Vlastimil Babka <vba...@suse.cz> Cc: Christoph Lameter <c...@linux.com> Cc: Pekka Enberg <penb...@kernel.org> Cc: David Rientjes <rient...@google.com> Cc: Joonsoo Kim <iamjoonsoo....@lge.com> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Roman Gushchin <roman.gushc...@linux.dev> Cc: Hyeonggon Yoo <42.hye...@gmail.com> Cc: linux...@kvack.org --- lib/codetag.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/codetag.c b/lib/codetag.c index 5ace625f2328..ef7634c7ee18 100644 --- a/lib/codetag.c +++ b/lib/codetag.c @@ -125,7 +125,6 @@ static inline size_t range_size(const struct codetag_type *cttype, cttype->desc.tag_size; } -#ifdef CONFIG_MODULES static void *get_symbol(struct module *mod, const char *prefix, const char *name) { DECLARE_SEQ_BUF(sb, KSYM_NAME_LEN); @@ -199,6 +198,7 @@ static int codetag_module_init(struct codetag_type *cttype, struct module *mod) return 0; } +#ifdef CONFIG_MODULES void codetag_load_module(struct module *mod) { struct codetag_type *cttype; @@ -248,9 +248,6 @@ bool codetag_unload_module(struct module *mod) return unload_ok; } - -#else /* CONFIG_MODULES */ -static int codetag_module_init(struct codetag_type *cttype, struct module *mod) { return 0; } #endif /* CONFIG_MODULES */ struct codetag_type * -- 2.34.1