]> git.itanic.dy.fi Git - linux-stable/commitdiff
modpost: merge sectioncheck table entries regarding init/exit sections
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 22 Oct 2023 17:06:12 +0000 (02:06 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 28 Oct 2023 12:31:22 +0000 (21:31 +0900)
Check symbol references from normal sections to init/exit sections in
a single entry.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/mod/modpost.c

index bc555ac5b47ca96d63b4303e1ab23c56cc379f8a..144194c8f15b467424a00756ca201a24ab49ad14 100644 (file)
@@ -823,9 +823,7 @@ static void check_section(const char *modname, struct elf_info *elf,
                TEXT_SECTIONS, OTHER_TEXT_SECTIONS
 
 enum mismatch {
-       TEXT_TO_ANY_INIT,
-       DATA_TO_ANY_INIT,
-       TEXTDATA_TO_ANY_EXIT,
+       TEXTDATA_TO_ANY_INIT_EXIT,
        XXXINIT_TO_SOME_INIT,
        ANY_INIT_TO_ANY_EXIT,
        ANY_EXIT_TO_ANY_INIT,
@@ -856,20 +854,10 @@ static const struct sectioncheck sectioncheck[] = {
 /* Do not reference init/exit code/data from
  * normal code and data
  */
-{
-       .fromsec = { TEXT_SECTIONS, NULL },
-       .bad_tosec = { ALL_INIT_SECTIONS, NULL },
-       .mismatch = TEXT_TO_ANY_INIT,
-},
-{
-       .fromsec = { DATA_SECTIONS, NULL },
-       .bad_tosec = { ALL_INIT_SECTIONS, NULL },
-       .mismatch = DATA_TO_ANY_INIT,
-},
 {
        .fromsec = { TEXT_SECTIONS, DATA_SECTIONS, NULL },
-       .bad_tosec = { ALL_EXIT_SECTIONS, NULL },
-       .mismatch = TEXTDATA_TO_ANY_EXIT,
+       .bad_tosec = { ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL },
+       .mismatch = TEXTDATA_TO_ANY_INIT_EXIT,
 },
 /* Do not reference init code/data from meminit code/data */
 {