@@ -798,18 +798,17 @@ static void check_section(const char *modname, struct elf_info *elf,
798
798
#define ALL_INIT_TEXT_SECTIONS \
799
799
".init.text", ".meminit.text"
800
800
#define ALL_EXIT_TEXT_SECTIONS \
801
- ".exit.text", ".memexit.text"
801
+ ".exit.text"
802
802
803
803
#define ALL_PCI_INIT_SECTIONS \
804
804
".pci_fixup_early", ".pci_fixup_header", ".pci_fixup_final", \
805
805
".pci_fixup_enable", ".pci_fixup_resume", \
806
806
".pci_fixup_resume_early", ".pci_fixup_suspend"
807
807
808
808
#define ALL_XXXINIT_SECTIONS MEM_INIT_SECTIONS
809
- #define ALL_XXXEXIT_SECTIONS MEM_EXIT_SECTIONS
810
809
811
810
#define ALL_INIT_SECTIONS INIT_SECTIONS, ALL_XXXINIT_SECTIONS
812
- #define ALL_EXIT_SECTIONS EXIT_SECTIONS, ALL_XXXEXIT_SECTIONS
811
+ #define ALL_EXIT_SECTIONS EXIT_SECTIONS
813
812
814
813
#define DATA_SECTIONS ".data", ".data.rel"
815
814
#define TEXT_SECTIONS ".text", ".text.*", ".sched.text", \
@@ -822,7 +821,6 @@ static void check_section(const char *modname, struct elf_info *elf,
822
821
#define MEM_INIT_SECTIONS ".meminit.*"
823
822
824
823
#define EXIT_SECTIONS ".exit.*"
825
- #define MEM_EXIT_SECTIONS ".memexit.*"
826
824
827
825
#define ALL_TEXT_SECTIONS ALL_INIT_TEXT_SECTIONS, ALL_EXIT_TEXT_SECTIONS, \
828
826
TEXT_SECTIONS, OTHER_TEXT_SECTIONS
@@ -832,7 +830,6 @@ enum mismatch {
832
830
DATA_TO_ANY_INIT ,
833
831
TEXTDATA_TO_ANY_EXIT ,
834
832
XXXINIT_TO_SOME_INIT ,
835
- XXXEXIT_TO_SOME_EXIT ,
836
833
ANY_INIT_TO_ANY_EXIT ,
837
834
ANY_EXIT_TO_ANY_INIT ,
838
835
EXTABLE_TO_NON_TEXT ,
@@ -883,12 +880,6 @@ static const struct sectioncheck sectioncheck[] = {
883
880
.bad_tosec = { INIT_SECTIONS , NULL },
884
881
.mismatch = XXXINIT_TO_SOME_INIT ,
885
882
},
886
- /* Do not reference exit code/data from memexit code/data */
887
- {
888
- .fromsec = { ALL_XXXEXIT_SECTIONS , NULL },
889
- .bad_tosec = { EXIT_SECTIONS , NULL },
890
- .mismatch = XXXEXIT_TO_SOME_EXIT ,
891
- },
892
883
/* Do not use exit code/data from init code */
893
884
{
894
885
.fromsec = { ALL_INIT_SECTIONS , NULL },
@@ -1017,7 +1008,7 @@ static int secref_whitelist(const char *fromsec, const char *fromsym,
1017
1008
1018
1009
/* symbols in data sections that may refer to meminit sections */
1019
1010
if (match (fromsec , PATTERNS (DATA_SECTIONS )) &&
1020
- match (tosec , PATTERNS (ALL_XXXINIT_SECTIONS , ALL_XXXEXIT_SECTIONS )) &&
1011
+ match (tosec , PATTERNS (ALL_XXXINIT_SECTIONS )) &&
1021
1012
match (fromsym , PATTERNS ("*driver" )))
1022
1013
return 0 ;
1023
1014
0 commit comments