scripts/misc-check | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES()
which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks.
Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES")
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
---
I've missed these new checks when renaming the export macro due to my
git grep being too narrow. My commit went through Christian's vfs tree
but seems the script is part of kbuild (which is currently Odd fixes).
---
scripts/misc-check | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/misc-check b/scripts/misc-check
index 84f08da17b2c0508b5c2471a6ffb2ab7e36592a4..40e5a4b01ff473a7bfd2fdc156ae06c8cf18f504 100755
--- a/scripts/misc-check
+++ b/scripts/misc-check
@@ -45,7 +45,7 @@ check_tracked_ignored_files () {
# does not automatically fix it.
check_missing_include_linux_export_h () {
- git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' \
+ git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' \
-- '*.[ch]' :^tools/ :^include/linux/export.h |
xargs -r git -C "${srctree:-.}" grep --files-without-match '#include[[:space:]]*<linux/export\.h>' |
xargs -r printf "%s: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing\n" >&2
@@ -58,7 +58,7 @@ check_unnecessary_include_linux_export_h () {
git -C "${srctree:-.}" grep --files-with-matches '#include[[:space:]]*<linux/export\.h>' \
-- '*.[c]' :^tools/ |
- xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' |
+ xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' |
xargs -r printf "%s: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present\n" >&2
}
---
base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00
change-id: 20250825-export_modules_fix-07d9597f9009
Best regards,
--
Vlastimil Babka <vbabka@suse.cz>
On Mon, 25 Aug 2025 17:00:37 +0200, Vlastimil Babka wrote: > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > Applied, thanks! [1/1] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() https://git.kernel.org/kbuild/c/0354e81b7bd62 Best regards, -- Nathan Chancellor <nathan@kernel.org>
On Mon, Aug 25, 2025 at 05:00:37PM +0200, Vlastimil Babka wrote: > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > --- > I've missed these new checks when renaming the export macro due to my > git grep being too narrow. My commit went through Christian's vfs tree > but seems the script is part of kbuild (which is currently Odd fixes). If this needs to reach Linus's tree to avoid warnings, it could go via another vfs fixes pull request with our ack or we could ask him to pick it up directly (as I am not sure we will have a fixes pull request this cycle). If it is not urgent, I can pick it up via kbuild-next for 6.18. I have no strong preference. > --- > scripts/misc-check | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/misc-check b/scripts/misc-check > index 84f08da17b2c0508b5c2471a6ffb2ab7e36592a4..40e5a4b01ff473a7bfd2fdc156ae06c8cf18f504 100755 > --- a/scripts/misc-check > +++ b/scripts/misc-check > @@ -45,7 +45,7 @@ check_tracked_ignored_files () { > # does not automatically fix it. > check_missing_include_linux_export_h () { > > - git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' \ > + git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' \ > -- '*.[ch]' :^tools/ :^include/linux/export.h | > xargs -r git -C "${srctree:-.}" grep --files-without-match '#include[[:space:]]*<linux/export\.h>' | > xargs -r printf "%s: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing\n" >&2 > @@ -58,7 +58,7 @@ check_unnecessary_include_linux_export_h () { > > git -C "${srctree:-.}" grep --files-with-matches '#include[[:space:]]*<linux/export\.h>' \ > -- '*.[c]' :^tools/ | > - xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' | > + xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' | > xargs -r printf "%s: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present\n" >&2 > } > > > --- > base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00 > change-id: 20250825-export_modules_fix-07d9597f9009 > > Best regards, > -- > Vlastimil Babka <vbabka@suse.cz> >
On Mon, Aug 25, 2025 at 10:07:10AM -0700, Nathan Chancellor wrote: > On Mon, Aug 25, 2025 at 05:00:37PM +0200, Vlastimil Babka wrote: > > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > > > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > > --- > > I've missed these new checks when renaming the export macro due to my > > git grep being too narrow. My commit went through Christian's vfs tree > > but seems the script is part of kbuild (which is currently Odd fixes). > > If this needs to reach Linus's tree to avoid warnings, it could go via > another vfs fixes pull request with our ack or we could ask him to pick > it up directly (as I am not sure we will have a fixes pull request this > cycle). If it is not urgent, I can pick it up via kbuild-next for 6.18. > I have no strong preference. Hm, you're right, the check will issue false warnings (and misses to warn when it should) without this update. Therefore I think it would be good to get the patch merged soon - even though the warnings are only issued with W=2. So, I second asking for the patch to go via vfs fixes or directly via Linus. If it helps: Acked-by: Nicolas Schier <nsc@kernel.org> Kind regards, Nicolas
On Mon, Aug 25, 2025 at 10:20:13PM +0200, Nicolas Schier wrote: > On Mon, Aug 25, 2025 at 10:07:10AM -0700, Nathan Chancellor wrote: > > On Mon, Aug 25, 2025 at 05:00:37PM +0200, Vlastimil Babka wrote: > > > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > > > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > > > > > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") > > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > > > --- > > > I've missed these new checks when renaming the export macro due to my > > > git grep being too narrow. My commit went through Christian's vfs tree > > > but seems the script is part of kbuild (which is currently Odd fixes). > > > > If this needs to reach Linus's tree to avoid warnings, it could go via > > another vfs fixes pull request with our ack or we could ask him to pick > > it up directly (as I am not sure we will have a fixes pull request this > > cycle). If it is not urgent, I can pick it up via kbuild-next for 6.18. > > I have no strong preference. > > Hm, you're right, the check will issue false warnings (and misses to > warn when it should) without this update. Therefore I think it would be > good to get the patch merged soon - even though the warnings are only > issued with W=2. Oh, I forgot that these warnings were downgraded to W=2 in commit a6a7946bd691 ("kbuild: move warnings about linux/export.h from W=1 to W=2")... I thought these were in W=1 still. In that case, I do not think it is really imperative to fast track this to mainline. We are not and probably never will be W=2 clean so the presence of new or missing warnings is not a big bug to me. I will apply this to kbuild-next later today but I can drop it if someone wants to fast track it. Cheers, Nathan
On 8/25/25 22:20, Nicolas Schier wrote: > On Mon, Aug 25, 2025 at 10:07:10AM -0700, Nathan Chancellor wrote: >> On Mon, Aug 25, 2025 at 05:00:37PM +0200, Vlastimil Babka wrote: >> > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() >> > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. >> > >> > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") >> > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> >> > --- >> > I've missed these new checks when renaming the export macro due to my >> > git grep being too narrow. My commit went through Christian's vfs tree >> > but seems the script is part of kbuild (which is currently Odd fixes). >> >> If this needs to reach Linus's tree to avoid warnings, it could go via >> another vfs fixes pull request with our ack or we could ask him to pick >> it up directly (as I am not sure we will have a fixes pull request this >> cycle). If it is not urgent, I can pick it up via kbuild-next for 6.18. >> I have no strong preference. > > Hm, you're right, the check will issue false warnings (and misses to > warn when it should) without this update. Therefore I think it would be > good to get the patch merged soon - even though the warnings are only > issued with W=2. Note only two files use EXPORT_SYMBOL_FOR_MODULES() in mainline: fs/anon_inodes.c - contains also EXPORT_SYMBOL_GPL() so the checks will cover it anyway (and IIUC since it includes module.h and not export.h it should be causing a warning already?) drivers/tty/serial/8250/8250_rsa.c: has no other variants of EXPORT, doesn't include export.h (includes module.h) so this will not trigger unnecessary export.h warning. It should be triggering missing export.h include warning, but will not without this patch. So IIUC missing this fix results in missing warnings, not adding spurious ones. And there seem to be many existing warnings already. So it doesn't seem that urgent fwiw. > So, I second asking for the patch to go via vfs fixes or directly via > Linus. If it helps: Let's see what Christian thinks then. > Acked-by: Nicolas Schier <nsc@kernel.org> > > Kind regards, > Nicolas
On 25/08/2025 17.00, Vlastimil Babka wrote: > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> LGTM, Reviewed-by: Daniel Gomez <da.gomez@samsung.com> > --- > I've missed these new checks when renaming the export macro due to my > git grep being too narrow. My commit went through Christian's vfs tree > but seems the script is part of kbuild (which is currently Odd fixes). > --- > scripts/misc-check | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/misc-check b/scripts/misc-check > index 84f08da17b2c0508b5c2471a6ffb2ab7e36592a4..40e5a4b01ff473a7bfd2fdc156ae06c8cf18f504 100755 > --- a/scripts/misc-check > +++ b/scripts/misc-check > @@ -45,7 +45,7 @@ check_tracked_ignored_files () { > # does not automatically fix it. > check_missing_include_linux_export_h () { > > - git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' \ > + git -C "${srctree:-.}" grep --files-with-matches -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' \ > -- '*.[ch]' :^tools/ :^include/linux/export.h | > xargs -r git -C "${srctree:-.}" grep --files-without-match '#include[[:space:]]*<linux/export\.h>' | > xargs -r printf "%s: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing\n" >&2 > @@ -58,7 +58,7 @@ check_unnecessary_include_linux_export_h () { > > git -C "${srctree:-.}" grep --files-with-matches '#include[[:space:]]*<linux/export\.h>' \ > -- '*.[c]' :^tools/ | > - xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_GPL_FOR_MODULES)\(.*\)' | > + xargs -r git -C "${srctree:-.}" grep --files-without-match -E 'EXPORT_SYMBOL((_NS)?(_GPL)?|_FOR_MODULES)\(.*\)' | > xargs -r printf "%s: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present\n" >&2 > } > > > --- > base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00 > change-id: 20250825-export_modules_fix-07d9597f9009 > > Best regards,
On Mon, Aug 25, 2025 at 05:00:37PM +0200, Vlastimil Babka wrote: > The module export checks are looking for EXPORT_SYMBOL_GPL_FOR_MODULES() > which was renamed to EXPORT_SYMBOL_FOR_MODULES(). Update the checks. > > Fixes: 6d3c3ca4c77e ("module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES") > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > --- > I've missed these new checks when renaming the export macro due to my > git grep being too narrow. My commit went through Christian's vfs tree > but seems the script is part of kbuild (which is currently Odd fixes). > --- > scripts/misc-check | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Good catch, thanks a lot! We will gladly take the patch to kbuild-next. Reviewed-by: Nicolas Schier <nsc@kernel.org>
© 2016 - 2025 Red Hat, Inc.