Thread (5 messages) 5 messages, 2 authors, 2020-09-24

Re: [PATCH] modpost: allow modpost to fail on warnings

flat view

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2020-09-24 17:24:02
Also in: linux-kbuild, lkml

On Mon, Sep 21, 2020 at 11:51 PM Pierre-Louis Bossart
[off-list ref] wrote:
Thanks for the review,
quoted
quoted
Set KBUILD_MODPOST_FAIL_ON_WARNINGS to a non-empty value to make the
kbuild fail when modpost generates any warnings. This will avoid
misses such as [1] where the SOF CI did not catch a missing module
license.

This was initially contributed in 2016 [2], rebase/clean-ups and tests
by Pierre Bossart.

Test example:
$ KBUILD_MODPOST_FAIL_ON_WARNINGS=1 make
   GEN     Makefile
   DESCEND  objtool
   CALL    sof-dev/scripts/atomic/check-atomics.sh
   CALL    sof-dev/scripts/checksyscalls.sh
   CHK     include/generated/compile.h
   MODPOST Module.symvers
Kernel: arch/x86/boot/bzImage is ready  (#13)
WARNING: modpost: missing MODULE_LICENSE() in sound/soc/intel/boards/snd-soc-sof-sdw.o
make[2]: *** [sof-dev/scripts/Makefile.modpost:114: Module.symvers] Error 2

I think [1] should be an error instead of a warning
by default.
would the following patch be what you have in mind?

No.
error() does not exist.

merror() exists, but the difference from warn()
is just a prefix.

If any error happens, modpost should return the error code.




quoted hunk ↗ jump to hunk
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 422f1cfca289..ae1eb67aa0f2 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -2018,7 +2018,7 @@ static void read_symbols(const char *modname)
         if (!mod->is_vmlinux) {
                 license = get_modinfo(&info, "license");
                 if (!license)
-                       warn("missing MODULE_LICENSE() in %s\n", modname);
+                       error("missing MODULE_LICENSE() in %s\n", modname);
                 while (license) {
                         if (license_is_gpl_compatible(license))
                                 mod->gpl_compatible = 1;

If yes, also wondering if we can still add the option to treat warnings
as errors as an opt-in behavior?

I want to add a new option only when it is necessary to do so.

I am not sure which warnings are real warnings.

Thanks!
-Pierre


-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help