kmod/backport-Fix-modinfo-F-always-shows-name-for-built-ins.patch
love_hangzhou d5cdeeba4c backport patch to fix some bugs
libkmod-module:check "new_from_name" return value in get_builtin
libkmod:fix possible double free with wrong modules.buildin.modinfo
libkmod:fix an overflow with wrong modules.builtin.modinfo
libkmod-config:fix a memory  leak when kmod_list_append() fails
Fix "modinfo -F always shows name for built-ins"
2021-06-18 15:22:29 +08:00

45 lines
1.4 KiB
Diff

From fa67110f896cdef67f42cbc2206ae2a8524acee6 Mon Sep 17 00:00:00 2001
From: Marco d'Itri <md@linux.it>
Date: Thu, 7 Jan 2021 20:17:48 -0800
Subject: [PATCH] Fix "modinfo -F always shows name for built-ins"
Conflict:NA
Reference:https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=fa67110f896cdef67f42cbc2206ae2a8524acee6
Bug reported by Ben Hutchings <ben@decadent.org.uk>:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=970871
Now that the kernel provides module information for potentially
modular code that's actually built-in, it's possible to query these
built-ins with "modinfo -F". However, this doesn't work quite right:
$ modinfo -Flicense e1000e
GPL v2
$ modinfo -Flicense bitrev
name: bitrev
GPL
---
tools/modinfo.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/modinfo.c b/tools/modinfo.c
index 0231bb0..f6a971f 100644
--- a/tools/modinfo.c
+++ b/tools/modinfo.c
@@ -178,7 +178,11 @@ static int modinfo_do(struct kmod_module *mod)
is_builtin = (filename == NULL);
if (is_builtin) {
- printf("%-16s%s%c", "name:", kmod_module_get_name(mod), separator);
+ if (field == NULL)
+ printf("%-16s%s%c", "name:",
+ kmod_module_get_name(mod), separator);
+ else if (field != NULL && streq(field, "name"))
+ printf("%s%c", kmod_module_get_name(mod), separator);
filename = "(builtin)";
}
--
2.23.0