| From 28438794aba47a27e922857d27b31b74e8559143 Mon Sep 17 00:00:00 2001 |
| From: Masahiro Yamada <masahiroy@kernel.org> |
| Date: Sat, 11 Jun 2022 03:32:30 +0900 |
| Subject: modpost: fix section mismatch check for exported init/exit sections |
| |
| From: Masahiro Yamada <masahiroy@kernel.org> |
| |
| commit 28438794aba47a27e922857d27b31b74e8559143 upstream. |
| |
| Since commit f02e8a6596b7 ("module: Sort exported symbols"), |
| EXPORT_SYMBOL* is placed in the individual section ___ksymtab(_gpl)+<sym> |
| (3 leading underscores instead of 2). |
| |
| Since then, modpost cannot detect the bad combination of EXPORT_SYMBOL |
| and __init/__exit. |
| |
| Fix the .fromsec field. |
| |
| Fixes: f02e8a6596b7 ("module: Sort exported symbols") |
| Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> |
| Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| scripts/mod/modpost.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/mod/modpost.c |
| +++ b/scripts/mod/modpost.c |
| @@ -1077,7 +1077,7 @@ static const struct sectioncheck section |
| }, |
| /* Do not export init/exit functions or data */ |
| { |
| - .fromsec = { "__ksymtab*", NULL }, |
| + .fromsec = { "___ksymtab*", NULL }, |
| .bad_tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL }, |
| .mismatch = EXPORT_TO_INIT_EXIT, |
| .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL }, |