2018-09-28 06:23:46

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH] modpost: remove leftover symbol prefix handling for module device table

Blackfin and metag were the only architectures that prefix symbols with
an underscore. They were removed by commit 4ba66a976072 ("arch: remove
blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),
respectively.

It is no longer necessary to handle <prefix> part of module device
table symbols.

Signed-off-by: Masahiro Yamada <[email protected]>
---

scripts/mod/file2alias.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 7be4369..ba4ebc4 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
return;

- /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */
- name = strstr(symname, "__mod_");
- if (!name)
+ /* All our symbols are of form __mod_<name>__<identifier>_device_table. */
+ if (strncmp(symname, "__mod_", strlen("__mod_")))
return;
- name += strlen("__mod_");
+ name = symname + strlen("__mod_");
namelen = strlen(name);
if (namelen < strlen("_device_table"))
return;
--
2.7.4



2018-09-29 07:02:14

by Rusty Russell

[permalink] [raw]
Subject: Re: [PATCH] modpost: remove leftover symbol prefix handling for module device table

Please send this to the module maintainer (CC'd).

Masahiro Yamada <[email protected]> writes:
> Blackfin and metag were the only architectures that prefix symbols with
> an underscore. They were removed by commit 4ba66a976072 ("arch: remove
> blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),
> respectively.
>
> It is no longer necessary to handle <prefix> part of module device
> table symbols.
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---
>
> scripts/mod/file2alias.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
> index 7be4369..ba4ebc4 100644
> --- a/scripts/mod/file2alias.c
> +++ b/scripts/mod/file2alias.c
> @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
> if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
> return;
>
> - /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */
> - name = strstr(symname, "__mod_");
> - if (!name)
> + /* All our symbols are of form __mod_<name>__<identifier>_device_table. */
> + if (strncmp(symname, "__mod_", strlen("__mod_")))
> return;
> - name += strlen("__mod_");
> + name = symname + strlen("__mod_");
> namelen = strlen(name);
> if (namelen < strlen("_device_table"))
> return;
> --
> 2.7.4

2018-09-29 16:45:39

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] modpost: remove leftover symbol prefix handling for module device table

2018年9月29日(土) 16:01 Rusty Russell <[email protected]>:
>
> Please send this to the module maintainer (CC'd).


I just sent this to Kbuild ML
since scripts/mod/ is listed in the Kbuild part.

Next time, I will try my best to remember
to CC the module maintainer.

Reviewed-by tags are appreciated.



KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
M: Masahiro Yamada <[email protected]>
M: Michal Marek <[email protected]>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
L: [email protected]
S: Maintained
F: Documentation/kbuild/
F: Makefile
F: scripts/Kbuild*
F: scripts/Makefile*
F: scripts/basic/
F: scripts/mk*
F: scripts/mod/
F: scripts/package/






> Masahiro Yamada <[email protected]> writes:
> > Blackfin and metag were the only architectures that prefix symbols with
> > an underscore. They were removed by commit 4ba66a976072 ("arch: remove
> > blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),
> > respectively.
> >
> > It is no longer necessary to handle <prefix> part of module device
> > table symbols.
> >
> > Signed-off-by: Masahiro Yamada <[email protected]>
> > ---
> >
> > scripts/mod/file2alias.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
> > index 7be4369..ba4ebc4 100644
> > --- a/scripts/mod/file2alias.c
> > +++ b/scripts/mod/file2alias.c
> > @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
> > if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
> > return;
> >
> > - /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */
> > - name = strstr(symname, "__mod_");
> > - if (!name)
> > + /* All our symbols are of form __mod_<name>__<identifier>_device_table. */
> > + if (strncmp(symname, "__mod_", strlen("__mod_")))
> > return;
> > - name += strlen("__mod_");
> > + name = symname + strlen("__mod_");
> > namelen = strlen(name);
> > if (namelen < strlen("_device_table"))
> > return;
> > --
> > 2.7.4



--
Best Regards
Masahiro Yamada

2018-10-09 15:03:54

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] modpost: remove leftover symbol prefix handling for module device table

On Fri, Sep 28, 2018 at 3:23 PM Masahiro Yamada
<[email protected]> wrote:
>
> Blackfin and metag were the only architectures that prefix symbols with
> an underscore. They were removed by commit 4ba66a976072 ("arch: remove
> blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"),
> respectively.
>
> It is no longer necessary to handle <prefix> part of module device
> table symbols.
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---


Applied to linux-kbuild.


> scripts/mod/file2alias.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
> index 7be4369..ba4ebc4 100644
> --- a/scripts/mod/file2alias.c
> +++ b/scripts/mod/file2alias.c
> @@ -1415,11 +1415,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
> if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT)
> return;
>
> - /* All our symbols are of form <prefix>__mod_<name>__<identifier>_device_table. */
> - name = strstr(symname, "__mod_");
> - if (!name)
> + /* All our symbols are of form __mod_<name>__<identifier>_device_table. */
> + if (strncmp(symname, "__mod_", strlen("__mod_")))
> return;
> - name += strlen("__mod_");
> + name = symname + strlen("__mod_");
> namelen = strlen(name);
> if (namelen < strlen("_device_table"))
> return;
> --
> 2.7.4
>


--
Best Regards
Masahiro Yamada