linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
@ 2025-08-25 15:00 Vlastimil Babka
  2025-08-25 15:33 ` Nicolas Schier
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Vlastimil Babka @ 2025-08-25 15:00 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier
  Cc: Christian Brauner, Daniel Gomez, Masahiro Yamada, linux-kernel,
	Vlastimil Babka

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>


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 15:00 [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() Vlastimil Babka
@ 2025-08-25 15:33 ` Nicolas Schier
  2025-08-25 16:01 ` Daniel Gomez
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Nicolas Schier @ 2025-08-25 15:33 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: Nathan Chancellor, Christian Brauner, Daniel Gomez,
	Masahiro Yamada, linux-kernel, linux-kbuild

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>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 15:00 [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() Vlastimil Babka
  2025-08-25 15:33 ` Nicolas Schier
@ 2025-08-25 16:01 ` Daniel Gomez
  2025-08-25 17:07 ` Nathan Chancellor
  2025-08-26 23:57 ` Nathan Chancellor
  3 siblings, 0 replies; 8+ messages in thread
From: Daniel Gomez @ 2025-08-25 16:01 UTC (permalink / raw)
  To: Vlastimil Babka, Nathan Chancellor, Nicolas Schier
  Cc: Christian Brauner, Masahiro Yamada, linux-kernel



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,

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 15:00 [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() Vlastimil Babka
  2025-08-25 15:33 ` Nicolas Schier
  2025-08-25 16:01 ` Daniel Gomez
@ 2025-08-25 17:07 ` Nathan Chancellor
  2025-08-25 20:20   ` Nicolas Schier
  2025-08-26 23:57 ` Nathan Chancellor
  3 siblings, 1 reply; 8+ messages in thread
From: Nathan Chancellor @ 2025-08-25 17:07 UTC (permalink / raw)
  To: Vlastimil Babka, Christian Brauner
  Cc: Nicolas Schier, Daniel Gomez, Masahiro Yamada, linux-kernel

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>
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 17:07 ` Nathan Chancellor
@ 2025-08-25 20:20   ` Nicolas Schier
  2025-08-25 21:35     ` Vlastimil Babka
  2025-08-26 18:38     ` Nathan Chancellor
  0 siblings, 2 replies; 8+ messages in thread
From: Nicolas Schier @ 2025-08-25 20:20 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Vlastimil Babka, Christian Brauner, Daniel Gomez, Masahiro Yamada,
	linux-kernel, linux-kbuild

[-- Attachment #1: Type: text/plain, Size: 1422 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 20:20   ` Nicolas Schier
@ 2025-08-25 21:35     ` Vlastimil Babka
  2025-08-26 18:38     ` Nathan Chancellor
  1 sibling, 0 replies; 8+ messages in thread
From: Vlastimil Babka @ 2025-08-25 21:35 UTC (permalink / raw)
  To: Nicolas Schier, Nathan Chancellor
  Cc: Christian Brauner, Daniel Gomez, Masahiro Yamada, linux-kernel,
	linux-kbuild

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 20:20   ` Nicolas Schier
  2025-08-25 21:35     ` Vlastimil Babka
@ 2025-08-26 18:38     ` Nathan Chancellor
  1 sibling, 0 replies; 8+ messages in thread
From: Nathan Chancellor @ 2025-08-26 18:38 UTC (permalink / raw)
  To: Nicolas Schier
  Cc: Vlastimil Babka, Christian Brauner, Daniel Gomez, Masahiro Yamada,
	linux-kernel, linux-kbuild

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES()
  2025-08-25 15:00 [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() Vlastimil Babka
                   ` (2 preceding siblings ...)
  2025-08-25 17:07 ` Nathan Chancellor
@ 2025-08-26 23:57 ` Nathan Chancellor
  3 siblings, 0 replies; 8+ messages in thread
From: Nathan Chancellor @ 2025-08-26 23:57 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier, Vlastimil Babka
  Cc: Christian Brauner, Daniel Gomez, Masahiro Yamada, linux-kernel


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>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-08-26 23:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-25 15:00 [PATCH] scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() Vlastimil Babka
2025-08-25 15:33 ` Nicolas Schier
2025-08-25 16:01 ` Daniel Gomez
2025-08-25 17:07 ` Nathan Chancellor
2025-08-25 20:20   ` Nicolas Schier
2025-08-25 21:35     ` Vlastimil Babka
2025-08-26 18:38     ` Nathan Chancellor
2025-08-26 23:57 ` Nathan Chancellor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).