From: Lucas De Marchi Date: Sat, 8 Aug 2026 04:18:11 +0000 (-0500) Subject: libkmod: Fix missing module normalization from kernel cmdline X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9addb7dc43fa9e8827087090b76b37a5ae7df899;p=thirdparty%2Fkmod.git libkmod: Fix missing module normalization from kernel cmdline Normalize it before adding the blacklist. Without normalizing it we have, with just the test addition: $ ./build/testsuite/test-modprobe modprobe_param_kcmdline9 TESTSUITE: running modprobe_param_kcmdline9, in forked context TESTSUITE: ERR: Outputs do not match on STDOUT: TESTSUITE: ERR: correct: ... blacklist foo_bar ... TESTSUITE: ERR: wrong: blacklist foo-bar TESTSUITE: ERR: FAILED: exit ok but outputs do not match: modprobe_param_kcmdline9 Link: https://github.com/kmod-project/kmod/pull/312 Signed-off-by: Lucas De Marchi --- diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c index 3f21e46c..6938ff99 100644 --- a/libkmod/libkmod-config.c +++ b/libkmod/libkmod-config.c @@ -618,6 +618,9 @@ static void kcmdline_parse_result(struct kmod_config *config, char *modname, cha if (t == NULL) break; + if (underscores(t) < 0) + continue; + kmod_config_add_blacklist(config, t); } } else { diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/correct.txt index e69f813d..f8399e12 100644 --- a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/correct.txt +++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/correct.txt @@ -3,6 +3,7 @@ blacklist bar blacklist foo2 blacklist bar2 blacklist foobar +blacklist foo_bar # End of configuration files. Dumping indexes now: diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/proc/cmdline index dc78f9bc..fe7af674 100644 --- a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/proc/cmdline +++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline9/proc/cmdline @@ -1 +1 @@ -modprobe.blacklist=foo,bar modprobe.blacklist=foo2 quiet modprobe.blacklist=bar2 rw modprobe.blacklist=foobar +modprobe.blacklist=foo,bar modprobe.blacklist=foo2 quiet modprobe.blacklist=bar2 rw modprobe.blacklist=foobar modprobe.blacklist=foo-bar