]> git.itanic.dy.fi Git - linux-stable/commitdiff
linux/init: remove __memexit* annotations
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 22 Oct 2023 17:06:05 +0000 (02:06 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 28 Oct 2023 12:31:22 +0000 (21:31 +0900)
We have never used __memexit, __memexitdata, or __memexitconst.

These were unneeded.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
include/asm-generic/vmlinux.lds.h
include/linux/init.h
scripts/mod/modpost.c

index 67d8dd2f1bdec12a0d4a919641d9397aebcf85d3..bae0fe4d499bccead73abfeda5fac62dc04bbd1e 100644 (file)
        *(.ref.data)                                                    \
        *(.data..shared_aligned) /* percpu related */                   \
        MEM_KEEP(init.data*)                                            \
-       MEM_KEEP(exit.data*)                                            \
        *(.data.unlikely)                                               \
        __start_once = .;                                               \
        *(.data.once)                                                   \
        __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) {         \
                *(.ref.rodata)                                          \
                MEM_KEEP(init.rodata)                                   \
-               MEM_KEEP(exit.rodata)                                   \
        }                                                               \
                                                                        \
        /* Built-in module parameters. */                               \
                *(.ref.text)                                            \
                *(.text.asan.* .text.tsan.*)                            \
        MEM_KEEP(init.text*)                                            \
-       MEM_KEEP(exit.text*)                                            \
 
 
 /* sched.text is aling to function alignment to secure we have same
        *(.exit.data .exit.data.*)                                      \
        *(.fini_array .fini_array.*)                                    \
        *(.dtors .dtors.*)                                              \
-       MEM_DISCARD(exit.data*)                                         \
-       MEM_DISCARD(exit.rodata*)
 
 #define EXIT_TEXT                                                      \
        *(.exit.text)                                                   \
        *(.text.exit)                                                   \
-       MEM_DISCARD(exit.text)
 
 #define EXIT_CALL                                                      \
        *(.exitcall.exit)
index 266c3e1640d47a028c013bfe64fbacbb36c2e534..01b52c9c75268f1cdebcfaba9750304d20618002 100644 (file)
@@ -89,9 +89,6 @@
                                                  __latent_entropy
 #define __meminitdata    __section(".meminit.data")
 #define __meminitconst   __section(".meminit.rodata")
-#define __memexit        __section(".memexit.text") __exitused __cold notrace
-#define __memexitdata    __section(".memexit.data")
-#define __memexitconst   __section(".memexit.rodata")
 
 /* For assembly routines */
 #define __HEAD         .section        ".head.text","ax"
index d936fa5fbbb1ee052a8aca95db0427a518985f56..bcc334b28a2c2476bf877fe4db228102f3d4699d 100644 (file)
@@ -798,7 +798,7 @@ static void check_section(const char *modname, struct elf_info *elf,
 #define ALL_INIT_TEXT_SECTIONS \
        ".init.text", ".meminit.text"
 #define ALL_EXIT_TEXT_SECTIONS \
-       ".exit.text", ".memexit.text"
+       ".exit.text"
 
 #define ALL_PCI_INIT_SECTIONS  \
        ".pci_fixup_early", ".pci_fixup_header", ".pci_fixup_final", \
@@ -806,10 +806,9 @@ static void check_section(const char *modname, struct elf_info *elf,
        ".pci_fixup_resume_early", ".pci_fixup_suspend"
 
 #define ALL_XXXINIT_SECTIONS MEM_INIT_SECTIONS
-#define ALL_XXXEXIT_SECTIONS MEM_EXIT_SECTIONS
 
 #define ALL_INIT_SECTIONS INIT_SECTIONS, ALL_XXXINIT_SECTIONS
-#define ALL_EXIT_SECTIONS EXIT_SECTIONS, ALL_XXXEXIT_SECTIONS
+#define ALL_EXIT_SECTIONS EXIT_SECTIONS
 
 #define DATA_SECTIONS ".data", ".data.rel"
 #define TEXT_SECTIONS ".text", ".text.*", ".sched.text", \
@@ -822,7 +821,6 @@ static void check_section(const char *modname, struct elf_info *elf,
 #define MEM_INIT_SECTIONS  ".meminit.*"
 
 #define EXIT_SECTIONS      ".exit.*"
-#define MEM_EXIT_SECTIONS  ".memexit.*"
 
 #define ALL_TEXT_SECTIONS  ALL_INIT_TEXT_SECTIONS, ALL_EXIT_TEXT_SECTIONS, \
                TEXT_SECTIONS, OTHER_TEXT_SECTIONS
@@ -832,7 +830,6 @@ enum mismatch {
        DATA_TO_ANY_INIT,
        TEXTDATA_TO_ANY_EXIT,
        XXXINIT_TO_SOME_INIT,
-       XXXEXIT_TO_SOME_EXIT,
        ANY_INIT_TO_ANY_EXIT,
        ANY_EXIT_TO_ANY_INIT,
        EXTABLE_TO_NON_TEXT,
@@ -883,12 +880,6 @@ static const struct sectioncheck sectioncheck[] = {
        .bad_tosec = { INIT_SECTIONS, NULL },
        .mismatch = XXXINIT_TO_SOME_INIT,
 },
-/* Do not reference exit code/data from memexit code/data */
-{
-       .fromsec = { ALL_XXXEXIT_SECTIONS, NULL },
-       .bad_tosec = { EXIT_SECTIONS, NULL },
-       .mismatch = XXXEXIT_TO_SOME_EXIT,
-},
 /* Do not use exit code/data from init code */
 {
        .fromsec = { ALL_INIT_SECTIONS, NULL },
@@ -1017,7 +1008,7 @@ static int secref_whitelist(const char *fromsec, const char *fromsym,
 
        /* symbols in data sections that may refer to meminit sections */
        if (match(fromsec, PATTERNS(DATA_SECTIONS)) &&
-           match(tosec, PATTERNS(ALL_XXXINIT_SECTIONS, ALL_XXXEXIT_SECTIONS)) &&
+           match(tosec, PATTERNS(ALL_XXXINIT_SECTIONS)) &&
            match(fromsym, PATTERNS("*driver")))
                return 0;