76 lines
2.4 KiB
Diff
76 lines
2.4 KiB
Diff
|
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
|
||
|
|