[PATCH] module: make __mod_device_table__* symbols static

Masahiro Yamada posted 1 patch 8 months, 1 week ago
include/linux/module.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] module: make __mod_device_table__* symbols static
Posted by Masahiro Yamada 8 months, 1 week ago
The __mod_device_table__* symbols are only parsed by modpost to generate
MODULE_ALIAS() entries from MODULE_DEVICE_TABLE().

Therefore, these symbols do not need to be globally visible, or globally
unique.

If they are in the global scope, we would worry about the symbol
uniqueness, but modpost is fine with parsing multiple symbols with the
same name.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 include/linux/module.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/module.h b/include/linux/module.h
index 8050f77c3b64..92e1420fccdf 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -249,8 +249,8 @@ struct module_kobject *lookup_or_create_module_kobject(const char *name);
 #ifdef MODULE
 /* Creates an alias so file2alias.c can find device table. */
 #define MODULE_DEVICE_TABLE(type, name)					\
-extern typeof(name) __mod_device_table__##type##__##name		\
-  __attribute__ ((unused, alias(__stringify(name))))
+static typeof(name) __mod_device_table__##type##__##name		\
+  __attribute__ ((used, alias(__stringify(name))))
 #else  /* !MODULE */
 #define MODULE_DEVICE_TABLE(type, name)
 #endif
-- 
2.43.0
Re: [PATCH] module: make __mod_device_table__* symbols static
Posted by Petr Pavlu 8 months, 1 week ago
On 6/2/25 12:55 PM, Masahiro Yamada wrote:
> The __mod_device_table__* symbols are only parsed by modpost to generate
> MODULE_ALIAS() entries from MODULE_DEVICE_TABLE().
> 
> Therefore, these symbols do not need to be globally visible, or globally
> unique.
> 
> If they are in the global scope, we would worry about the symbol
> uniqueness, but modpost is fine with parsing multiple symbols with the
> same name.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>

-- 
Thanks,
Petr
Re: [PATCH] module: make __mod_device_table__* symbols static
Posted by Masahiro Yamada 8 months, 1 week ago
On Wed, Jun 4, 2025 at 5:50 PM Petr Pavlu <petr.pavlu@suse.com> wrote:
>
> On 6/2/25 12:55 PM, Masahiro Yamada wrote:
> > The __mod_device_table__* symbols are only parsed by modpost to generate
> > MODULE_ALIAS() entries from MODULE_DEVICE_TABLE().
> >
> > Therefore, these symbols do not need to be globally visible, or globally
> > unique.
> >
> > If they are in the global scope, we would worry about the symbol
> > uniqueness, but modpost is fine with parsing multiple symbols with the
> > same name.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
>
> Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>
>
> --
> Thanks,
> Petr
>


Applied to linux-kbuild

-- 
Best Regards
Masahiro Yamada