On Tue, Nov 03, 2026 at 10:01:28PM +0000, [email protected] wrote: > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) > to consider: > - [Low] module: missing kernel-parameters.txt update for module_blacklist= > -- > > commit b07237b9f1588393358dd2a97ba3add75969d76b > Author: Aaron Tomlin <[email protected]> > > module: Extend module_blacklist parameter to built-in modules > > This commit extends the module_blacklist= command-line parameter to built-in > modules by recording their initcall functions and module names in a > .initcall.modnames section. During early boot, do_one_initcall_builtin() > checks this table and skips initcalls for blacklisted built-in modules, with > parameter handling moved to init/main.c so it also works when CONFIG_MODULES > is disabled. > > > diff --git a/init/main.c b/init/main.c > > index d7bf1ffc5f503..99df129d3b296 100644 > > --- a/init/main.c > > +++ b/init/main.c > > @@ -1406,6 +1406,56 @@ static inline void do_trace_initcall_level(const > > char *level) > > } > > #endif /* !TRACEPOINTS_ENABLED */ > > > > +extern struct initcall_modname __start_initcall_modnames[]; > > +extern struct initcall_modname __stop_initcall_modnames[]; > > + > > +/* module_blacklist is a comma-separated list of module names */ > > +static char *module_blacklist; > > +bool __init_or_module module_is_blacklisted(const char *module_name) > > +{ > > + const char *p; > > + size_t len; > > + > > + if (!module_blacklist) > > + return false; > > + > > + for (p = module_blacklist; *p; p += len) { > > + len = strcspn(p, ","); > > + if (strlen(module_name) == len && parameqn(module_name, p, len)) > > + return true; > > + if (p[len] == ',') > > + len++; > > + } > > + return false; > > +} > > +core_param(module_blacklist, module_blacklist, charp, 0400); > > [Severity: Low] > This patch moves core_param(module_blacklist, ...) to init/main.c and extends > module_blacklist= via do_one_initcall_builtin() so that it also skips > initcalls for built-in modules defined with module_init(), even when > CONFIG_MODULES=n. > > However, Documentation/admin-guide/kernel-parameters.txt still describes > module_blacklist= only in terms of loading modules: > > module_blacklist= [KNL] Do not load a comma-separated list of > modules. Useful for debugging problem modules. > > The follow-up patch in the series (commit 7bf71ba917d2 ("module: Rename > module_blacklist to module_denylist")) renames the entry to module_denylist= > without updating this description either. > > Should Documentation/admin-guide/kernel-parameters.txt be updated here to > mention that module_blacklist= also skips initialization of built-in modules?
Hi Andrew, Acknowledged. I will update Documentation/admin-guide/kernel-parameters.txt in this patch to note that module_blacklist= prevents loading or initialising both loadable and built-in modules, and carry that updated description forward to module_denylist= in the subsequent patch. Kind regards, -- Aaron Tomlin
