Accepting request 913018 from home:michals
Update patch to upstream version. OBS-URL: https://build.opensuse.org/request/show/913018 OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=195
This commit is contained in:
parent
825beebeeb
commit
b50de31564
@ -1,33 +1,60 @@
|
|||||||
From 446dd2bd337f88d71682b079ce7470a4232ac1e8 Mon Sep 17 00:00:00 2001
|
From lucas.demarchi@intel.com Wed Aug 18 23:25:03 2021
|
||||||
From: Takashi Iwai <tiwai@suse.com>
|
To: linux-modules <linux-modules@vger.kernel.org>
|
||||||
Date: Wed, 18 Aug 2021 12:42:17 +0200
|
Subject: [PATCH v2] libkmod: Set builtin to no when module is created from path.
|
||||||
Subject: [PATCH] libkmod: Provide info even for modules built into the running
|
Date: Wed, 18 Aug 2021 14:24:39 -0700
|
||||||
kernel.
|
Message-Id: <20210818212440.2224127-1-lucas.demarchi@intel.com>
|
||||||
|
From: Michal Suchanek <msuchanek@suse.de>
|
||||||
|
|
||||||
When a module is built-in examining the module file is skipped.
|
A recent bug report showed that modinfo doesn't give the signature
|
||||||
|
information for certain modules, and it turned out to happen only on
|
||||||
However, a module that is built into the runnig kernel may be separate
|
the modules that are built-in on the running kernel; then modinfo
|
||||||
in another kernel. Always examine the module file if it exists.
|
skips the signature check, as if the target module file never exists.
|
||||||
|
The behavior is, however, inconsistent when modinfo is performed for
|
||||||
|
external modules (no matter which kernel version is) and the module
|
||||||
|
file path is explicitly given by a command-line argument, which
|
||||||
|
guarantees the presence of the module file itself.
|
||||||
|
|
||||||
|
Fixes: e7e2cb61fa9f ("modinfo: Show information about built-in modules")
|
||||||
|
Link: https://lore.kernel.org/linux-modules/CAKi4VAJVvY3=JdSZm-GD1hJqyCPYaYz-jBJ_REeY5BakVb6_ww@mail.gmail.com/
|
||||||
|
BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1189537
|
||||||
|
Suggested-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
|
||||||
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
|
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
|
||||||
---
|
---
|
||||||
libkmod/libkmod-module.c | 3 ++-
|
libkmod/libkmod-module.c | 17 +++++++++--------
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
|
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
|
||||||
index 6e0ff1a99604..9e878a5345a1 100644
|
index 6e0ff1a..6f7747c 100644
|
||||||
--- a/libkmod/libkmod-module.c
|
--- a/libkmod/libkmod-module.c
|
||||||
+++ b/libkmod/libkmod-module.c
|
+++ b/libkmod/libkmod-module.c
|
||||||
@@ -2292,7 +2292,8 @@ KMOD_EXPORT int kmod_module_get_info(const struct kmod_module *mod, struct kmod_
|
@@ -431,17 +431,18 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx,
|
||||||
assert(*list == NULL);
|
return -EEXIST;
|
||||||
|
}
|
||||||
|
|
||||||
/* remove const: this can only change internal state */
|
- *mod = kmod_module_ref(m);
|
||||||
- if (kmod_module_is_builtin((struct kmod_module *)mod)) {
|
- return 0;
|
||||||
+ if (!kmod_module_get_path(mod) &&
|
- }
|
||||||
+ kmod_module_is_builtin((struct kmod_module *)mod)) {
|
+ kmod_module_ref(m);
|
||||||
count = kmod_builtin_get_modinfo(mod->ctx,
|
+ } else {
|
||||||
kmod_module_get_name(mod),
|
+ err = kmod_module_new(ctx, name, name, namelen, NULL, 0, &m);
|
||||||
&strings);
|
+ if (err < 0) {
|
||||||
|
+ free(abspath);
|
||||||
|
+ return err;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- err = kmod_module_new(ctx, name, name, namelen, NULL, 0, &m);
|
||||||
|
- if (err < 0) {
|
||||||
|
- free(abspath);
|
||||||
|
- return err;
|
||||||
|
+ m->path = abspath;
|
||||||
|
}
|
||||||
|
|
||||||
|
- m->path = abspath;
|
||||||
|
+ m->builtin = KMOD_MODULE_BUILTIN_NO;
|
||||||
|
*mod = m;
|
||||||
|
|
||||||
|
return 0;
|
||||||
--
|
--
|
||||||
2.31.1
|
2.31.1
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user