linux/init: remove __memexit* annotations
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user