Re: wish: build time warning for missing MODULE_LICENSE

Adrian Bunk
2008-03-30T20:34:29Z

On Sun, Mar 30, 2008 at 09:04:30PM +0200, Sam Ravnborg wrote:
> On Sun, Mar 30, 2008 at 09:01:19PM +0300, Adrian Bunk wrote:
> > I just fixed a bug where I had accidentally removed a MODULE_LICENSE()
> > from a file.
> >
> > The problem is that such bugs are currently not discovered until someone
> > actually runs a kernel with this module loaded.
> >
> > Could we get a build time warning/error for a missing MODULE_LICENSE?
>
> Is it something as simple as this you are after?
> [My dev box is dead atm so I have not done a kernel build
> with this, only a single module].

Thanks, it seems to work - and I'm currently working on fixing the bugs
it catches.

Considering that these are trivial to fix I'd even suggest a fatal()
instead of the warn() for making them obvious for everyone doing build
testing.

> Sam
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 695b5d6..e8560a0 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -1552,6 +1552,8 @@ static void read_symbols(char *modname)
> }
>
> license = get_modinfo(info.modinfo, info.modinfo_len, "license");
> + if (!license && !is_vmlinux(modname))
> + warn("modpost: missing MODULE_LICENSE() in %s\n", modname);
> while (license) {
> if (license_is_gpl_compatible(license))
> mod->gpl_compatible = 1;

cu