From 8d9bb441dbc9af0dd404c5266f01f81338dd313da947f315667f971b2670c299 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 9 Jun 2018 00:17:06 +0000 Subject: [PATCH] Accepting request 615319 from home:win32asm:branches:openSUSE:Factory allow 'modprobe -c' print the status of "allow_unsupported_modules" option. Sorry for many 'commits'. OBS-URL: https://build.opensuse.org/request/show/615319 OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=144 --- 0012-modprobe-print-unsupported-status.patch | 75 ++++++++++++++++++++ kmod.spec | 3 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 0012-modprobe-print-unsupported-status.patch diff --git a/0012-modprobe-print-unsupported-status.patch b/0012-modprobe-print-unsupported-status.patch new file mode 100644 index 0000000..a854fba --- /dev/null +++ b/0012-modprobe-print-unsupported-status.patch @@ -0,0 +1,75 @@ +From 7e04a4a70e514aec5ed2328cb0a2d48bf6408197 Mon Sep 17 00:00:00 2001 +From: Vlad Bespalov +Date: Fri, 8 Jun 2018 21:13:00 +0000 +Subject: [PATCH] modprobe: print status of "allow_unsupported_modules" + variable + +In SLES11 modprobe printed everything referenced in /etc/modprobe.d +in SLES12 config parsing changed to explicitly find and print +specific groups of modprobe options, which did not print +the status of "allow_unsupported_modules" option when running +modprobe -c +The proposed patch fixes this deficiency + +Patch-mainline: never +--- + libkmod/libkmod-config.c | 13 +++++++++++++ + libkmod/libkmod.h | 1 + + tools/modprobe.c | 5 +++++ + 3 files changed, 19 insertions(+) + +diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c +index 550a612..0fc2250 100644 +--- a/libkmod/libkmod-config.c ++++ b/libkmod/libkmod-config.c +@@ -1008,6 +1008,19 @@ static struct kmod_config_iter *kmod_config_iter_new(const struct kmod_ctx* ctx, + * @short_description: retrieve current libkmod configuration + */ + ++/* ++ * kmod_config_unsupported_allowed: ++ * @ctx: kmod library context ++ * ++ * Retrieve status of unsupported modules ++ */ ++KMOD_EXPORT bool kmod_config_unsupported_allowed(const struct kmod_ctx *ctx) ++{ ++ struct kmod_config *config = (struct kmod_config *)kmod_get_config(ctx); ++ ++ return !config->block_unsupported; ++} ++ + /** + * kmod_config_get_blacklists: + * @ctx: kmod library context +diff --git a/libkmod/libkmod.h b/libkmod/libkmod.h +index f9e33c6..0ae8ab3 100644 +--- a/libkmod/libkmod.h ++++ b/libkmod/libkmod.h +@@ -115,6 +115,7 @@ const char *kmod_config_iter_get_key(const struct kmod_config_iter *iter); + const char *kmod_config_iter_get_value(const struct kmod_config_iter *iter); + bool kmod_config_iter_next(struct kmod_config_iter *iter); + void kmod_config_iter_free_iter(struct kmod_config_iter *iter); ++bool kmod_config_unsupported_allowed(const struct kmod_ctx *ctx); + + /* + * kmod_module +diff --git a/tools/modprobe.c b/tools/modprobe.c +index 1f6f286..8064e37 100644 +--- a/tools/modprobe.c ++++ b/tools/modprobe.c +@@ -199,6 +199,11 @@ static int show_config(struct kmod_ctx *ctx) + kmod_config_iter_free_iter(iter); + } + ++ // SUSE specific option: ++ if (!kmod_config_unsupported_allowed(ctx)) { ++ puts("allow_unsupported_modules 0\n"); ++ } ++ + puts("\n# End of configuration files. Dumping indexes now:\n"); + fflush(stdout); + +-- +2.12.3 + diff --git a/kmod.spec b/kmod.spec index 4849505..70db632 100644 --- a/kmod.spec +++ b/kmod.spec @@ -37,6 +37,7 @@ Patch4: 0010-modprobe-Implement-allow-unsupported-modules.patch Patch5: 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch Patch6: libkmod-signature-Fix-crash-when-module-signature-is.patch Patch7: libkmod-signature-pkcs-7-fix-crash-when-signer-info-.patch +Patch8: 0012-modprobe-print-unsupported-status.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: asn1c BuildRequires: autoconf @@ -109,7 +110,7 @@ in %lname. %prep %setup -q -n kmod-%version -%patch -P 0 -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -P 7 -p1 +%patch -P 0 -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -P 7 -P 8 -p1 %build autoreconf -fi