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
This commit is contained in:
Jan Engelhardt 2018-06-09 00:17:06 +00:00 committed by Git OBS Bridge
parent 27cb7c281e
commit 8d9bb441db
2 changed files with 77 additions and 1 deletions

View File

@ -0,0 +1,75 @@
From 7e04a4a70e514aec5ed2328cb0a2d48bf6408197 Mon Sep 17 00:00:00 2001
From: Vlad Bespalov <vlad.bespalov@jetstreamsoft.com>
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

View File

@ -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