diff --git a/0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch b/0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch deleted file mode 100644 index 5ea1ecb..0000000 --- a/0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch +++ /dev/null @@ -1,38 +0,0 @@ -From fa67110f896cdef67f42cbc2206ae2a8524acee6 Mon Sep 17 00:00:00 2001 -From: Marco d'Itri -Date: Thu, 7 Jan 2021 20:17:48 -0800 -Subject: [PATCH] Fix "modinfo -F always shows name for built-ins" - -Bug reported by Ben Hutchings : -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=970871 - - Now that the kernel provides module information for potentially - modular code that's actually built-in, it's possible to query these - built-ins with "modinfo -F". However, this doesn't work quite right: - - $ modinfo -Flicense e1000e - GPL v2 - $ modinfo -Flicense bitrev - name: bitrev - GPL ---- - tools/modinfo.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: kmod-27/tools/modinfo.c -=================================================================== ---- kmod-27.orig/tools/modinfo.c -+++ kmod-27/tools/modinfo.c -@@ -178,7 +178,11 @@ static int modinfo_do(struct kmod_module - is_builtin = (filename == NULL); - - if (is_builtin) { -- printf("%-16s%s%c", "name:", kmod_module_get_name(mod), separator); -+ if (field == NULL) -+ printf("%-16s%s%c", "name:", -+ kmod_module_get_name(mod), separator); -+ else if (field != NULL && streq(field, "name")) -+ printf("%s%c", kmod_module_get_name(mod), separator); - filename = "(builtin)"; - } - diff --git a/0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch b/0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch deleted file mode 100644 index e3b1985..0000000 --- a/0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch +++ /dev/null @@ -1,143 +0,0 @@ -From: Lucas De Marchi -Date: Fri, 12 Feb 2021 01:45:21 -0800 -Subject: libkmod-config: revamp kcmdline parsing into a state machine -Git-repo: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git -Git-commit: 01ed9af61e239b40514edf527ac87c79377266ac -Patch-mainline: v29 -References: bsc#1181111 - -The handling of spaces and quotes is becoming hard to maintain. Convert -the parser into a state machine so we can check all the states. This -should make it easier to fix a corner case we have right now: -The kernel also accepts a quote before the module name instead of the -value. But this additional is left for later. This is purely an -algorithm change with no behavior change. - -Tested-by: Jessica Yu -Signed-off-by: Jiri Slaby ---- - libkmod/libkmod-config.c | 86 ++++++++++++++++++++++++---------------- - 1 file changed, 52 insertions(+), 34 deletions(-) - -diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c -index 971f20b8a352..d3cd10d42a10 100644 ---- a/libkmod/libkmod-config.c -+++ b/libkmod/libkmod-config.c -@@ -499,7 +499,14 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - char buf[KCMD_LINE_SIZE]; - int fd, err; - char *p, *modname, *param = NULL, *value = NULL; -- bool is_quoted = false, is_module = true; -+ bool is_quoted = false, iter = true; -+ enum state { -+ STATE_IGNORE, -+ STATE_MODNAME, -+ STATE_PARAM, -+ STATE_VALUE, -+ STATE_COMPLETE, -+ } state; - - fd = open("/proc/cmdline", O_RDONLY|O_CLOEXEC); - if (fd < 0) { -@@ -516,54 +523,65 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - return err; - } - -- for (p = buf, modname = buf; *p != '\0' && *p != '\n'; p++) { -- if (*p == '"') { -+ state = STATE_MODNAME; -+ for (p = buf, modname = buf; iter; p++) { -+ switch (*p) { -+ case '"': - is_quoted = !is_quoted; -- -- if (is_quoted) { -- /* don't consider a module until closing quotes */ -- is_module = false; -- } else if (param != NULL && value != NULL) { -+ break; -+ case '\0': -+ case '\n': -+ /* Stop iterating on new chars */ -+ iter = false; -+ /* fall-through */ -+ case ' ': -+ if (is_quoted && state == STATE_VALUE) { -+ /* no state change*/; -+ } else if (is_quoted) { -+ /* spaces are only allowed in the value part */ -+ state = STATE_IGNORE; -+ } else if (state == STATE_VALUE || state == STATE_PARAM) { -+ *p = '\0'; -+ state = STATE_COMPLETE; -+ } else { - /* -- * If we are indeed expecting a value and -- * closing quotes, then this can be considered -- * a valid option for a module -+ * go to next option, ignoring any possible -+ * partial match we have - */ -- is_module = true; -+ modname = p + 1; -+ state = STATE_MODNAME; - } -- -- continue; -- } -- if (is_quoted) -- continue; -- -- switch (*p) { -- case ' ': -- *p = '\0'; -- if (is_module) -- kcmdline_parse_result(config, modname, param, value); -- param = value = NULL; -- modname = p + 1; -- is_module = true; - break; - case '.': -- if (param == NULL) { -+ if (state == STATE_MODNAME) { - *p = '\0'; - param = p + 1; -+ state = STATE_PARAM; -+ } else if (state == STATE_PARAM) { -+ state = STATE_IGNORE; - } - break; - case '=': -- if (param != NULL) -+ if (state == STATE_PARAM) { -+ /* -+ * Don't set *p to '\0': the value var shadows -+ * param -+ */ - value = p + 1; -- else -- is_module = false; -+ state = STATE_VALUE; -+ } else if (state == STATE_MODNAME) { -+ state = STATE_IGNORE; -+ } - break; - } -- } - -- *p = '\0'; -- if (is_module) -- kcmdline_parse_result(config, modname, param, value); -+ if (state == STATE_COMPLETE) { -+ kcmdline_parse_result(config, modname, param, value); -+ /* start over on next iteration */ -+ modname = p + 1; -+ state = STATE_MODNAME; -+ } -+ } - - return 0; - } --- -2.30.1 - diff --git a/0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch b/0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch deleted file mode 100644 index f9390c8..0000000 --- a/0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch +++ /dev/null @@ -1,263 +0,0 @@ -From: Lucas De Marchi -Date: Fri, 12 Feb 2021 01:45:22 -0800 -Subject: libkmod-config: re-quote option from kernel cmdline -Git-repo: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git -Git-commit: d3a1fe67b64cad103ff4f93dfd9f2cf19cab09ba -Patch-mainline: v29 -References: bsc#1181111 - -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 -Tested-by: Jessica Yu -Link: https://bugzilla.suse.com/show_bug.cgi?id=1181111#c10 -Signed-off-by: Jiri Slaby ---- - libkmod/libkmod-config.c | 36 ++++++++++++- - .../module-param-kcmdline7/correct.txt | 5 ++ - .../module-param-kcmdline7/correct.txt | 5 ++ - .../module-param-kcmdline7/proc/cmdline | 1 + - .../module-param-kcmdline7/proc/cmdline | 1 + - .../module-param-kcmdline8/correct.txt | 5 ++ - .../module-param-kcmdline7/correct.txt | 5 ++ - .../module-param-kcmdline7/proc/cmdline | 1 + - .../module-param-kcmdline8/proc/cmdline | 1 + - testsuite/test-modprobe.c | 50 +++++++++++++++++++ - 10 files changed, 109 insertions(+), 1 deletion(-) - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/correct.txt - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/correct.txt - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/proc/cmdline - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/proc/cmdline - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/correct.txt - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/correct.txt - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/proc/cmdline - create mode 100644 testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/proc/cmdline - -diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c -index d3cd10d42a10..2873f061dc9e 100644 ---- a/libkmod/libkmod-config.c -+++ b/libkmod/libkmod-config.c -@@ -498,7 +498,7 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - { - char buf[KCMD_LINE_SIZE]; - int fd, err; -- char *p, *modname, *param = NULL, *value = NULL; -+ char *p, *p_quote_start, *modname, *param = NULL, *value = NULL; - bool is_quoted = false, iter = true; - enum state { - STATE_IGNORE, -@@ -524,10 +524,23 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - } - - state = STATE_MODNAME; -+ p_quote_start = NULL; - for (p = buf, modname = buf; iter; p++) { - switch (*p) { - case '"': - is_quoted = !is_quoted; -+ -+ /* -+ * only allow starting quote as first char when looking -+ * for a modname: anything else is considered ill-formed -+ */ -+ if (is_quoted && state == STATE_MODNAME && p == modname) { -+ p_quote_start = p; -+ modname = p + 1; -+ } else if (state != STATE_VALUE) { -+ state = STATE_IGNORE; -+ } -+ - break; - case '\0': - case '\n': -@@ -550,6 +563,7 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - */ - modname = p + 1; - state = STATE_MODNAME; -+ p_quote_start = NULL; - } - break; - case '.': -@@ -576,10 +590,30 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - } - - if (state == STATE_COMPLETE) { -+ /* -+ * We may need to re-quote to unmangle what the -+ * bootloader passed. Example: grub passes the option as -+ * "parport.dyndbg=file drivers/parport/ieee1284_ops.c +mpf" -+ * instead of -+ * parport.dyndbg="file drivers/parport/ieee1284_ops.c +mpf" -+ */ -+ if (p_quote_start && p_quote_start < modname) { -+ /* -+ * p_quote_start -+ * | -+ * |modname param value -+ * || | | -+ * vv v v -+ * "parport\0dyndbg=file drivers/parport/ieee1284_ops.c +mpf" */ -+ memmove(p_quote_start, modname, value - modname); -+ value--; modname--; param--; -+ *value = '"'; -+ } - kcmdline_parse_result(config, modname, param, value); - /* start over on next iteration */ - modname = p + 1; - state = STATE_MODNAME; -+ p_quote_start = NULL; - } - } - -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/correct.txt -new file mode 100644 -index 000000000000..d80da6d802af ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/correct.txt -@@ -0,0 +1,5 @@ -+options psmouse foo -+options parport dyndbg="file drivers/parport/ieee1284_ops.c +mpf" -+ -+# End of configuration files. Dumping indexes now: -+ -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/correct.txt -new file mode 100644 -index 000000000000..d80da6d802af ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/correct.txt -@@ -0,0 +1,5 @@ -+options psmouse foo -+options parport dyndbg="file drivers/parport/ieee1284_ops.c +mpf" -+ -+# End of configuration files. Dumping indexes now: -+ -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/proc/cmdline -new file mode 100644 -index 000000000000..86f9052394a0 ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/module-param-kcmdline7/proc/cmdline -@@ -0,0 +1 @@ -+psmouse.foo parport.dyndbg="file drivers/parport/ieee1284_ops.c +mpf" quiet rw -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/proc/cmdline -new file mode 100644 -index 000000000000..86f9052394a0 ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline7/proc/cmdline -@@ -0,0 +1 @@ -+psmouse.foo parport.dyndbg="file drivers/parport/ieee1284_ops.c +mpf" quiet rw -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/correct.txt -new file mode 100644 -index 000000000000..d80da6d802af ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/correct.txt -@@ -0,0 +1,5 @@ -+options psmouse foo -+options parport dyndbg="file drivers/parport/ieee1284_ops.c +mpf" -+ -+# End of configuration files. Dumping indexes now: -+ -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/correct.txt -new file mode 100644 -index 000000000000..d80da6d802af ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/correct.txt -@@ -0,0 +1,5 @@ -+options psmouse foo -+options parport dyndbg="file drivers/parport/ieee1284_ops.c +mpf" -+ -+# End of configuration files. Dumping indexes now: -+ -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/proc/cmdline -new file mode 100644 -index 000000000000..86f9052394a0 ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/module-param-kcmdline7/proc/cmdline -@@ -0,0 +1 @@ -+psmouse.foo parport.dyndbg="file drivers/parport/ieee1284_ops.c +mpf" quiet rw -diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/proc/cmdline -new file mode 100644 -index 000000000000..eab04adbd5f8 ---- /dev/null -+++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline8/proc/cmdline -@@ -0,0 +1 @@ -+psmouse.foo "parport.dyndbg=file drivers/parport/ieee1284_ops.c +mpf" quiet rw -diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c -index f6bed8bd3487..dbc54f37b377 100644 ---- a/testsuite/test-modprobe.c -+++ b/testsuite/test-modprobe.c -@@ -359,6 +359,56 @@ DEFINE_TEST(modprobe_param_kcmdline6, - ); - - -+static noreturn int modprobe_param_kcmdline7(const struct test *t) -+{ -+ const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; -+ const char *const args[] = { -+ progname, -+ "-c", -+ NULL, -+ }; -+ -+ test_spawn_prog(progname, args); -+ exit(EXIT_FAILURE); -+} -+DEFINE_TEST(modprobe_param_kcmdline7, -+ .description = "check if dots on other parts of kcmdline don't confuse our parser", -+ .config = { -+ [TC_UNAME_R] = "4.4.4", -+ [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline7", -+ }, -+ .output = { -+ .out = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline7/correct.txt", -+ }, -+ .modules_loaded = "", -+ ); -+ -+ -+static noreturn int modprobe_param_kcmdline8(const struct test *t) -+{ -+ const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; -+ const char *const args[] = { -+ progname, -+ "-c", -+ NULL, -+ }; -+ -+ test_spawn_prog(progname, args); -+ exit(EXIT_FAILURE); -+} -+DEFINE_TEST(modprobe_param_kcmdline8, -+ .description = "check if dots on other parts of kcmdline don't confuse our parser", -+ .config = { -+ [TC_UNAME_R] = "4.4.4", -+ [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline8", -+ }, -+ .output = { -+ .out = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline8/correct.txt", -+ }, -+ .modules_loaded = "", -+ ); -+ -+ - static noreturn int modprobe_force(const struct test *t) - { - const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; --- -2.30.1 - diff --git a/kmod-28.tar.sign b/kmod-28.tar.sign deleted file mode 100644 index 0787a7c..0000000 --- a/kmod-28.tar.sign +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAl/3VpUACgkQm6KlpjDL -6lP1zQ/7BNcz4G6460xko6TypvAiZ7VDvJzBWgdH9EgNgXMPxIAE9PhpfVgvtT+w -k0dHy8zKAvnjoaPaa1vbP2ZGUDjaWoviJGOkmEwc2RVrWcwESDLJx1BKEAT7qh++ -0isr8OhCMeiaW1+hcz/XcZ6arHL29/lIpeWw2ZgSj4JlRC4YVD+t+v6Citkko53v -t6odio4yF06EuGhAmffMDWwrjscMNtW6UR1ce/69UENkR3Kq8c9blu5Q0Go4I3yI -K7U5nKyJxhoEm1OPml6x1td940Z4EqC/BR+sUYK1izXM9Uo8d+3J5hiHI83xOFz4 -9xrzcftHnM524aUYmHe5h83Li9XfW1BfIyePIYEMseEewfFF60bQqugciK+RCPoc -F+mC//ZBj1Xs2FLyAZhHdeZPjPCcGF6MrCuWUWavy8nxFStJgw8R59tatRhTGv5+ -QMk5DhJsKk8sCDeFWo6CBOHN99lNTJ06yI4hYfzcVCXE8deqHI5tBxmhhgFioqfE -UGj7fiG8bYqy4foXCW5SgD7Gmvg5fy/zpc8+h9MtmXW0Fqx3jABFknnolbEsJzBu -YJQ+UypKrARy8RpdRHsX8k2zH+hw5p5p7uHGGOy2j3Zff/Mx8zxAsOlpplt4b4cZ -PC+/D/cwNtEUDcW7ql33YmpkylAguKbivzMKSe2yb9DgNw3o3N4= -=FrBq ------END PGP SIGNATURE----- diff --git a/kmod-28.tar.xz b/kmod-28.tar.xz deleted file mode 100644 index dc16ace..0000000 --- a/kmod-28.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3969fc0f13daa98084256337081c442f8749310089e48aa695c9b4dfe1b3a26c -size 552448 diff --git a/kmod-29.tar.sign b/kmod-29.tar.sign new file mode 100644 index 0000000..4305c6a --- /dev/null +++ b/kmod-29.tar.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmCm6vQACgkQm6KlpjDL +6lNQNg/+KiyVKaM7w7Kc3aoHxewYxDbqpRUYIhmcmRXWM5UNjLWnPudHJv7i7b8f +Ztj5TECYkR5cnw4klKbQERGH9jX/ZlGMp4xGDnmdVZ72T202N3JSAj7Hieew8569 +b0rfUwXN9dUK6nJTUmi79IXJfV3Tmik4Eqsb9fVUJN0mJmHSZjGPIfTbVOgtq/9F +tiGIAQXc/YZuXoV7fcppAXxLbKsftTliYd/B9U3Sz+4ZZ6Lx3Ki77utg9p3KhVux +F60Y3JvbhiY72BkVToEAb+TadenJKc+4GquAA4/RivGhTW8aPHCDVqRR6aVGsWZs +tE/7jKHXqnwNzu8CodG6aIGia9EvMOegJlypDbaeHYlVCn6aoH8fHi3GcTg2aUdA +10LahavjAw6542XdM84SClMTqjHuHjYCOMSu8wjoCSoMQKxkI74LLndcTntXMJ8v +EQ6I5NPJqCtZLdTpWppKC3BZAcQFdaksSBmISsoRZq2ruleOdglnujTf6QmpgcE6 +fZNajslMcMQ1CIMwlvTWBLSlkk7Tr+Msca1fFm3FA3WrYDhcRpkLYnERjW6tkEI/ +mUhRTIB67haNwn8Y+HNc0Bl7toJr4nmYA85I4Ffqo7/VEPw5WkSa3yNiEgT/cy0b +Ubd6epfJqFG2VqGbw+dsiXKhbnxe9wiLibGm1XFIwB3bbRoz0XY= +=1dko +-----END PGP SIGNATURE----- diff --git a/kmod-29.tar.xz b/kmod-29.tar.xz new file mode 100644 index 0000000..95c19f5 --- /dev/null +++ b/kmod-29.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b80eea7aa184ac6fd20cafa2a1fdf290ffecc70869a797079e2cc5c6225a52a +size 560160 diff --git a/kmod-testsuite.spec b/kmod-testsuite.spec index 6190502..7153fe3 100644 --- a/kmod-testsuite.spec +++ b/kmod-testsuite.spec @@ -18,10 +18,10 @@ Name: kmod-testsuite %define lname libkmod2 -Version: 28 +Version: 29 Release: 0 Summary: Testsuite of the kmod package -License: LGPL-2.1-or-later AND GPL-2.0-or-later +License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Kernel URL: https://www.kernel.org/pub/linux/utils/kernel/kmod/ @@ -37,7 +37,6 @@ Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: usr-lib-modprobe.patch Patch8: no-stylesheet-download.patch -Patch9: 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch Patch10: kmod-populate-modules-Use-more-bash-more-quotes.patch Patch11: kmod-testsuite-compress-modules-if-feature-is-enabled.patch Patch12: kmod-also-test-xz-compression.patch @@ -79,7 +78,7 @@ export LDFLAGS="-Wl,-z,relro,-z,now" --includedir="%_includedir/kmod" \ --with-rootlibdir="%_libdir" \ --bindir="%_bindir" -make %{?_smp_mflags} V=1 KDIR="%kdir" +%make_build KDIR="%kdir" %install # empty diff --git a/kmod.changes b/kmod.changes index 9b4049e..be03e23 100644 --- a/kmod.changes +++ b/kmod.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu May 27 22:20:42 UTC 2021 - Jan Engelhardt + +- Update to release 29 + * Fix `modinfo -F` not working for built-in modules and + certain fields. + * Fix a memory leak, overflow and double free on error path. +- Drop 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch, + 0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch, + 0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch + (all merged) + ------------------------------------------------------------------- Thu Feb 18 08:19:01 UTC 2021 - Jiri Slaby diff --git a/kmod.spec b/kmod.spec index a0f8b3e..d14b9cd 100644 --- a/kmod.spec +++ b/kmod.spec @@ -18,10 +18,10 @@ Name: kmod %define lname libkmod2 -Version: 28 +Version: 29 Release: 0 Summary: Utilities to load modules into the kernel -License: LGPL-2.1-or-later AND GPL-2.0-or-later +License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Kernel URL: https://www.kernel.org/pub/linux/utils/kernel/kmod/ @@ -37,9 +37,6 @@ Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: usr-lib-modprobe.patch Patch8: no-stylesheet-download.patch -Patch9: 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch -Patch10: 0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch -Patch11: 0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: docbook5-xsl-stylesheets @@ -69,7 +66,7 @@ indexes from module-init-tools project. %package bash-completion Summary: Bash completion routines for the kmod utilities -License: LGPL-2.1-or-later AND GPL-2.0-or-later +License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Shells BuildArch: noarch Requires: %{name} @@ -116,7 +113,7 @@ export LDFLAGS="-Wl,-z,relro,-z,now" --includedir="%_includedir/kmod" \ --with-rootlibdir="%_libdir" \ --bindir="%_bindir" -make %{?_smp_mflags} V=1 +%make_build %install b="%buildroot" diff --git a/usr-lib-modprobe.patch b/usr-lib-modprobe.patch index a686eca..4d2a70b 100644 --- a/usr-lib-modprobe.patch +++ b/usr-lib-modprobe.patch @@ -1,4 +1,3 @@ -From 294bdb1b231e8076de37ed35afef64dd6be37755 Mon Sep 17 00:00:00 2001 From: Michal Suchanek Date: Tue, 12 Jan 2021 16:54:46 +0100 Subject: [PATCH] modprobe.d: load from /usr/lib. @@ -11,16 +10,26 @@ Cc: Marcus Rückert Cc: Takashi Iwai Cc: Dominique Leuenberger Signed-off-by: Michal Suchanek ---- - Makefile.am | 1 + - libkmod/libkmod.c | 1 + - man/modprobe.d.xml | 1 + - 3 files changed, 3 insertions(+) -diff --git a/Makefile.am b/Makefile.am -index b29e943a4d29..702a665f0334 100644 ---- a/Makefile.am -+++ b/Makefile.am +From: Jan Engelhardt +Date: 2021-05-28 00:17:47.552369139 +0200 + +If you make the build flexible and allow varying values for ``--sysconfdir``, +then permit the same for ``--prefix``. + +An obvious side effect is that with little change, the unnecessary hard +dependency on merged /usr goes away. +--- + Makefile.am | 1 + + libkmod/libkmod.c | 2 +- + man/modprobe.d.xml | 2 +- + tools/depmod.c | 2 +- + 4 files changed, 4 insertions(+), 3 deletions(-) + +Index: kmod-29/Makefile.am +=================================================================== +--- kmod-29.orig/Makefile.am ++++ kmod-29/Makefile.am @@ -19,6 +19,7 @@ AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -I$(top_srcdir) \ @@ -29,30 +38,42 @@ index b29e943a4d29..702a665f0334 100644 ${zlib_CFLAGS} AM_CFLAGS = $(OUR_CFLAGS) -diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c -index 43423d63a889..9399c6c902f8 100644 ---- a/libkmod/libkmod.c -+++ b/libkmod/libkmod.c -@@ -65,6 +65,7 @@ static const char *default_config_paths[] = { +Index: kmod-29/libkmod/libkmod.c +=================================================================== +--- kmod-29.orig/libkmod/libkmod.c ++++ kmod-29/libkmod/libkmod.c +@@ -65,7 +65,7 @@ static const char *default_config_paths[ SYSCONFDIR "/modprobe.d", "/run/modprobe.d", - "/lib/modprobe.d", + "/usr/local/lib/modprobe.d", +- "/lib/modprobe.d", + PREFIX "/lib/modprobe.d", NULL }; -diff --git a/man/modprobe.d.xml b/man/modprobe.d.xml -index 211af8488abb..ae5a83986a52 100644 ---- a/man/modprobe.d.xml -+++ b/man/modprobe.d.xml -@@ -40,6 +40,7 @@ +Index: kmod-29/man/modprobe.d.xml +=================================================================== +--- kmod-29.orig/man/modprobe.d.xml ++++ kmod-29/man/modprobe.d.xml +@@ -40,7 +40,7 @@ +- /lib/modprobe.d/*.conf + /usr/lib/modprobe.d/*.conf - /lib/modprobe.d/*.conf - /etc/modprobe.d/*.conf + /usr/local/lib/modprobe.d/*.conf /run/modprobe.d/*.conf --- -2.26.2 - + /etc/modprobe.d/*.conf +Index: kmod-29/tools/depmod.c +=================================================================== +--- kmod-29.orig/tools/depmod.c ++++ kmod-29/tools/depmod.c +@@ -54,7 +54,7 @@ static const char *default_cfg_paths[] = + SYSCONFDIR "/depmod.d", + "/run/depmod.d", + "/usr/local/lib/depmod.d", +- "/lib/depmod.d", ++ PREFIX "/lib/depmod.d", + NULL + }; +