diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2023-10-23 02:06:10 +0900 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2023-10-28 21:31:22 +0900 |
commit | a3df1526da480c089c20868b7f4d486b9f266001 (patch) | |
tree | 4721961952727eefdcf162fe46303a4e4353af9c /scripts/mod | |
parent | 48cd8df7afd1eef22cf7b125697a6d7c3d168c5c (diff) | |
download | linux-a3df1526da480c089c20868b7f4d486b9f266001.tar.gz linux-a3df1526da480c089c20868b7f4d486b9f266001.tar.bz2 linux-a3df1526da480c089c20868b7f4d486b9f266001.zip |
modpost: disallow the combination of EXPORT_SYMBOL and __meminit*
Theoretically, we could export conditionally-discarded code sections,
such as .meminit*, if all the users can become modular under a certain
condition. However, that would be difficult to control and such a tricky
case has never occurred.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'scripts/mod')
-rw-r--r-- | scripts/mod/modpost.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 160336efedba..f76ae0909ccd 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1164,7 +1164,7 @@ static void check_export_symbol(struct module *mod, struct elf_info *elf, ELF_ST_TYPE(sym->st_info) == STT_LOPROC) s->is_func = true; - if (match(secname, PATTERNS(INIT_SECTIONS))) + if (match(secname, PATTERNS(ALL_INIT_SECTIONS))) warn("%s: %s: EXPORT_SYMBOL used for init symbol. Remove __init or EXPORT_SYMBOL.\n", mod->name, name); else if (match(secname, PATTERNS(ALL_EXIT_SECTIONS))) |