Re: [PATCH v2 3/4] scripts/misc-check: check missing #include <linux/export.h> when W=1
From: Masahiro Yamada
Date: Thu Jun 19 2025 - 12:14:24 EST
On Fri, Jun 20, 2025 at 1:01 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> On Sun, 1 Jun 2025 22:31:29 +0900 Masahiro Yamada wrote:
> > The problem was described in commit 5b20755b7780 ("init: move THIS_MODULE
> > from <linux/export.h> to <linux/init.h>").
> >
> > To summarize it again here: <linux/export.h> is included by most C files,
> > even though only some of them actually export symbols. This is because
> > some headers, such as include/linux/{module.h,linkage}, needlessly
> > include <linux/export.h>.
> >
> > I have added a more detailed explanation in the comments of
> > scripts/misc-check.
> >
> > This problem will be fixed in two steps:
> >
> > 1. Add #include <linux/export.h> to C files that use EXPORT_SYMBOL()
> > 2. Remove #include <linux/export.h> from header files that do not use
> > EXPORT_SYMBOL()
> >
> > This commit addresses step 1; scripts/misc-check will warn about *.[ch]
> > files that use EXPORT_SYMBOL() but do not include <linux/export.h>.
> > This check is only triggered when the kernel is built with W=1.
> >
> > We need to fix 4000+ files. I hope others will help with this effort.
>
> IIUC you made the kernel spew nearly 5000 warnings on every W=1 build
> to "encourage" others to help fix a fairly innocuous problem.
> I appreciate the work that goes into separating the headers but it's
> hardly urgent enough to force others to scroll thru 5k warnings.
>
> Please LMK if I'm missing some context here, otherwise I think this is
> quite antisocial behavior, and the warnings should go back to W=2 until
> someone actually cares to fix most of them.
>
> Happy to hear from others.. CC: workflows
Please see commit a6a7946bd691940cfe7289ae6dfb1f077516df72
--
Best Regards
Masahiro Yamada