From: Michal Suchanek <msuchanek@suse.de>
To: linux-modules@vger.kernel.org
Cc: "Michal Suchanek" <msuchanek@suse.de>,
"Takashi Iwai" <tiwai@suse.com>,
"Lucas De Marchi" <lucas.de.marchi@gmail.com>,
"Michal Koutný" <mkoutny@suse.com>,
"Jiri Slaby" <jslaby@suse.com>,
"Jan Engelhardt" <jengelh@inai.de>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Nicolas Schier" <nicolas@fjasle.eu>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 3/4] kmod: Add config command to show compile time configuration as JSON
Date: Tue, 11 Jul 2023 17:31:18 +0200 [thread overview]
Message-ID: <20230711153126.28876-4-msuchanek@suse.de> (raw)
In-Reply-To: <20230711153126.28876-1-msuchanek@suse.de>
Show prefix (where configuration files are searched/to be installed)
and module compressions supported.
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
man/kmod.xml | 6 ++++++
tools/kmod.c | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/man/kmod.xml b/man/kmod.xml
index 0706ad58c2cc..f992a500f836 100644
--- a/man/kmod.xml
+++ b/man/kmod.xml
@@ -71,6 +71,12 @@
<para>Show the help message.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><command>config</command></term>
+ <listitem>
+ <para>Show compile time options in JSON.</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><command>list</command></term>
<listitem>
diff --git a/tools/kmod.c b/tools/kmod.c
index 55689c075ab1..5a13716955c1 100644
--- a/tools/kmod.c
+++ b/tools/kmod.c
@@ -37,9 +37,11 @@ static const struct option options[] = {
};
static const struct kmod_cmd kmod_cmd_help;
+static const struct kmod_cmd kmod_cmd_config;
static const struct kmod_cmd *kmod_cmds[] = {
&kmod_cmd_help,
+ &kmod_cmd_config,
&kmod_cmd_list,
&kmod_cmd_static_nodes,
@@ -95,6 +97,43 @@ static const struct kmod_cmd kmod_cmd_help = {
.help = "Show help message",
};
+static const char *compressions[] = {
+#ifdef ENABLE_ZSTD
+ "zstd",
+#endif
+#ifdef ENABLE_XZ
+ "xz",
+#endif
+#ifdef ENABLE_ZLIB
+ "gz",
+#endif
+ NULL
+};
+
+static int kmod_config(int argc, char *argv[])
+{
+ unsigned i;
+ printf("{\"prefix\":\"" PREFIX "\""
+ ",\"module_signature\":["
+#ifdef ENABLE_OPENSSL
+ "\"PKCS#7\","
+#endif
+ "\"legacy\"]"
+ ",\"module_compression\":[");
+ for(i = 0; compressions[i]; i++) {
+ printf("%s\"%s\"", i ? "," : "", compressions[i]);
+ }
+ printf("]}\n");
+
+ return EXIT_SUCCESS;
+}
+
+static const struct kmod_cmd kmod_cmd_config = {
+ .name = "config",
+ .cmd = kmod_config,
+ .help = "Show compile time options in JSON",
+};
+
static int handle_kmod_commands(int argc, char *argv[])
{
const char *cmd;
--
2.41.0
next prev parent reply other threads:[~2023-07-11 15:32 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 15:31 [PATCH 0/4] kmod /usr support Michal Suchanek
2023-07-11 15:31 ` [PATCH 1/4] man/depmod.d: Fix incorrect /usr/lib search path Michal Suchanek
2023-07-11 15:31 ` [PATCH 2/4] libkmod, depmod: Load modprobe.d, depmod.d from $prefix/lib Michal Suchanek
2023-07-12 6:47 ` Jiri Slaby
2023-07-12 7:35 ` Michal Suchánek
2023-07-11 15:31 ` Michal Suchanek [this message]
2023-07-11 15:31 ` [PATCH 4/4] libkmod, depmod, modprobe: Search for kernel modules under ${module_prefix} Michal Suchanek
2023-07-11 15:34 ` [PATCH] depmod: Handle installing modules under a prefix Michal Suchanek
2023-07-12 5:47 ` Jiri Slaby
2023-07-12 7:38 ` Michal Suchánek
2023-07-12 13:45 ` [PATCH v2--to=linux-modules@vger.kernel.org] " Michal Suchanek
2023-07-12 14:14 ` Masahiro Yamada
2023-07-12 16:15 ` Michal Suchánek
2023-07-14 6:25 ` [PATCH v2] " Jiri Slaby
2023-07-14 12:21 ` [PATCH v3] " Michal Suchanek
2023-07-14 13:38 ` Jan Engelhardt
2023-07-14 13:57 ` Michal Suchánek
2023-07-14 13:59 ` Michal Koutný
2023-07-14 14:05 ` Michal Suchánek
2023-07-14 14:05 ` Nicolas Schier
2023-07-14 14:30 ` Michal Suchánek
2023-07-14 14:42 ` Jan Engelhardt
2023-07-14 14:54 ` Nicolas Schier
2023-07-14 15:10 ` Michal Suchánek
2023-07-14 19:37 ` Nicolas Schier
2023-07-17 9:55 ` Michal Suchánek
2023-07-17 19:14 ` Masahiro Yamada
2023-07-18 8:52 ` Michal Suchánek
2023-09-11 19:56 ` [PATCH] kbuild: rpm-pkg: Fix build with non-default MODLIB Michal Suchanek
2023-07-17 19:13 ` [PATCH v3] depmod: Handle installing modules under a prefix Masahiro Yamada
2023-07-12 14:00 ` [PATCH kmod v2 1/4] man/depmod.d: Fix incorrect /usr/lib search path Michal Suchanek
2023-07-12 14:00 ` [PATCH kmod v2 2/4] libkmod, depmod: Load modprobe.d, depmod.d from $prefix/lib Michal Suchanek
2023-07-14 14:16 ` Nicolas Schier
2023-07-14 14:34 ` Michal Suchánek
2023-07-12 14:00 ` [PATCH kmod v2 3/4] kmod: Add config command to show compile time configuration as JSON Michal Suchanek
2023-07-14 13:52 ` Jan Engelhardt
2023-07-14 14:02 ` Michal Suchánek
2023-07-14 14:12 ` Jan Engelhardt
2023-07-14 15:26 ` Nicolas Schier
2023-07-14 16:58 ` Michal Suchánek
2023-07-12 14:00 ` [PATCH kmod v2 4/4] libkmod, depmod, modprobe: Search for kernel modules under ${module_prefix} Michal Suchanek
2023-07-14 13:54 ` Jan Engelhardt
2023-07-17 10:39 ` [PATCH kmod v4 0/4] kmod /usr support Michal Suchanek
2023-07-17 10:39 ` [PATCH kmod v4 1/4] man/depmod.d: Fix incorrect /usr/lib search path Michal Suchanek
2023-07-17 10:39 ` [PATCH kmod v4 2/4] libkmod, depmod: Load modprobe.d, depmod.d from $prefix/lib Michal Suchanek
2023-07-17 10:39 ` [PATCH kmod v4 3/4] kmod: Add config command to show compile time configuration as JSON Michal Suchanek
2023-07-17 10:39 ` [PATCH kmod v4 4/4] libkmod, depmod, modprobe: Make directory for kernel modules configurable Michal Suchanek
2023-07-17 19:28 ` Jan Engelhardt
2023-07-18 8:43 ` Michal Suchánek
2023-07-18 9:41 ` Jan Engelhardt
2023-07-18 10:29 ` Michal Suchánek
2023-07-18 12:17 ` Jan Engelhardt
2023-07-18 12:27 ` Michal Suchánek
2023-07-18 12:42 ` Jan Engelhardt
2023-07-18 13:45 ` Michal Suchánek
2023-07-17 20:12 ` Lucas De Marchi
2023-07-18 8:32 ` Michal Suchánek
2023-07-17 10:40 ` [PATCH v4] depmod: Handle installing modules under a prefix Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 0/5] kmod /usr support Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 1/5] configure: Detect openssl sm3 support Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 2/5] man/depmod.d: Fix incorrect /usr/lib search path Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 3/5] libkmod, depmod: Load modprobe.d, depmod.d from ${prefix}/lib Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 4/5] kmod: Add pkgconfig file with kmod compile time configuration Michal Suchanek
2023-07-18 12:01 ` [PATCH kmod v5 5/5] libkmod, depmod, modprobe: Make directory for kernel modules configurable Michal Suchanek
2023-10-17 17:50 ` Lucas De Marchi
2023-10-18 1:25 ` Jan Engelhardt
2023-11-09 17:40 ` Michal Suchánek
2023-11-09 17:44 ` Michal Suchánek
2023-11-10 12:13 ` [PATCH 0/2] kmod /usr support Michal Suchanek
2023-11-10 12:13 ` [PATCH 1/2] libkmod, depmod, modprobe: Make directory for kernel modules configurable Michal Suchanek
2023-11-10 12:13 ` [PATCH 2/2] configure: Check that provided paths are absolute Michal Suchanek
2023-12-06 18:36 ` [PATCH 0/2] kmod /usr support Lucas De Marchi
2023-12-19 8:37 ` Masahiro Yamada
2024-08-21 17:58 ` Nathan Chancellor
2024-08-22 5:05 ` Lucas De Marchi
2024-08-22 13:12 ` Emil Velikov
2024-08-22 6:05 ` Lucas De Marchi
2024-08-22 8:36 ` Michal Suchánek
2024-08-23 13:03 ` Masahiro Yamada
2024-08-23 14:29 ` Michal Suchánek
2023-11-13 9:27 ` [PATCH kmod v5 5/5] libkmod, depmod, modprobe: Make directory for kernel modules configurable Michal Suchánek
2023-07-18 12:03 ` [PATCH v5] depmod: Handle installing modules under a prefix Michal Suchanek
2023-07-18 12:14 ` Masahiro Yamada
2023-08-17 16:37 ` [PATCH kmod v5 0/5] kmod /usr support Michal Suchánek
2023-08-19 11:25 ` Masahiro Yamada
2023-08-21 6:22 ` Michal Suchánek
2023-09-11 19:50 ` Michal Suchánek
2023-10-17 15:45 ` Michal Suchánek
2023-10-17 16:18 ` Lucas De Marchi
2023-10-17 16:40 ` Michal Suchánek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230711153126.28876-4-msuchanek@suse.de \
--to=msuchanek@suse.de \
--cc=jengelh@inai.de \
--cc=jslaby@suse.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=lucas.de.marchi@gmail.com \
--cc=masahiroy@kernel.org \
--cc=mkoutny@suse.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®