]> git.ipfire.org Git - thirdparty/kmod.git/commit
libkmod-config: re-quote option from kernel cmdline
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 12 Feb 2021 09:45:22 +0000 (01:45 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 15 Feb 2021 19:53:43 +0000 (11:53 -0800)
commitd3a1fe67b64cad103ff4f93dfd9f2cf19cab09ba
treef9145f603b88ab905ae143e34751828f8cca686d
parent01ed9af61e239b40514edf527ac87c79377266ac
libkmod-config: re-quote option from kernel cmdline

It was reported that grub mangles the kernel cmdline. It turns

acpi_cpufreq.dyndbg="file drivers/cpufreq/acpi-cpufreq.c +mpf"

into

"acpi_cpufreq.dyndbg=file drivers/cpufreq/acpi-cpufreq.c +mpf"

However, even though we could blame grub for doing that, the kernel
happily accepts and re-quotes it when the module is built-in.
So, it's better if kmod also understands it this way and does the same.

Here we basically add additional code to un-mangle it, moving the quote
in way that is acceptable to pass through init_module(). Note that the
interface [f]init_module() gives us mandates the quote to be part of the
value: the module name is not passed and the options are separated by
space.

Reported-by: Jiri Slaby <jirislaby@kernel.org>
Tested-by: Jessica Yu <jeyu@kernel.org>
Link: https://bugzilla.suse.com/show_bug.cgi?id=1181111#c10
libkmod/libkmod-config.c
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/correct.txt [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/correct.txt [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/proc/cmdline [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/proc/cmdline [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/correct.txt [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/correct.txt [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/proc/cmdline [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/proc/cmdline [new file with mode: 0644]
testsuite/test-modprobe.c