Re: [PATCH 09/27] irqchip: remove MODULE_LICENSE in non-modules

Marc Zyngier
2023-02-24T15:33:00Z

On Fri, 24 Feb 2023 15:07:53 +0000,
Nick Alcock <nick.alcock@oracle.com> wrote:
>
> Since commit 8b41fc4454e ("kbuild: create modules.builtin without
> Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
> are used to identify modules. As a consequence, uses of the macro
> in non-modules will cause modprobe to misidentify their containing
> object file as a module when it is not (false positives), and modprobe
> might succeed rather than failing with a suitable error message.
>
> So remove it in the files in this commit, none of which can be built as
> modules.
>
> Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
> Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
> Cc: Luis Chamberlain <mcgrof@kernel.org>
> Cc: linux-modules@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> ---
> drivers/irqchip/irq-renesas-rzg2l.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c
> index 25fd8ee66565..4bbfa2b0a4df 100644
> --- a/drivers/irqchip/irq-renesas-rzg2l.c
> +++ b/drivers/irqchip/irq-renesas-rzg2l.c
> @@ -390,4 +390,3 @@ IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init)
> IRQCHIP_PLATFORM_DRIVER_END(rzg2l_irqc)
> MODULE_AUTHOR("Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>");
> MODULE_DESCRIPTION("Renesas RZ/G2L IRQC Driver");
> -MODULE_LICENSE("GPL");

I'm probably missing some context here, but I find it odd to drop
something that is a important piece of information because of what
looks like a tooling regression.

It also means that once a random driver gets enabled as a module, it
won't load because it is now missing a MODULE_LICENSE() annotation.

It feels like MODULE_LICENSE should instead degrade to an empty
statement when MODULE isn't defined. Why isn't this approach the
correct one?

I expect the cover letter would have some pretty good information on
this, but lore.kernel.org doesn't seem to have it at the time I write
this ("Message-ID <20230224150811.80316-1-nick.alcock@oracle.com> not
found").

Thanks,

M.

--
Without deviation from the norm, progress is not possible.