We have never used __memexit, __memexitdata, or __memexitconst. These were unneeded.
Showing the changes to scripts/mod (1 of 3 files). Show all
Unified · Split
| @@ -798,7 +798,7 @@ static void check_section(const char *modname, struct elf_info *elf, · 797 unmodified lines | ||
| 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", \ |
| @@ -806,10 +806,9 @@ static void check_section(const char *modname, struct elf_info *elf, · 1 unmodified line | ||
| 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, · 6 unmodified lines | ||
| 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 { · 3 unmodified lines | ||
| 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[] = { · 44 unmodified lines | ||
| 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, · 122 unmodified lines | ||
| 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 | |