From: Marco d'Itri Date: Fri, 8 Jan 2021 04:17:48 +0000 (-0800) Subject: Fix "modinfo -F always shows name for built-ins" X-Git-Tag: v29~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fa67110f896cdef67f42cbc2206ae2a8524acee6;p=thirdparty%2Fkmod.git Fix "modinfo -F always shows name for built-ins" Bug reported by Ben Hutchings : 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 --- diff --git a/tools/modinfo.c b/tools/modinfo.c index 0231bb03..f6a971fa 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)"; }