H A D | modpost.c | 950 * @fromsec: Array of sections to be matched. 952 * @bad_tosec: Relocations applied to a section in @fromsec to a section in 955 * @good_tosec: Relocations applied to a section in @fromsec must be 968 const char *fromsec[20]; member in struct:sectioncheck 975 Elf_Rela *r, Elf_Sym *sym, const char *fromsec); 982 const char *fromsec); 989 .fromsec = { TEXT_SECTIONS, NULL }, 995 .fromsec = { DATA_SECTIONS, NULL }, 1001 .fromsec = { DATA_SECTIONS, NULL }, 1010 .fromsec = { TEXT_SECTIONS, NULL }, 1016 .fromsec = { DATA_SECTIONS, NULL }, 1023 .fromsec = { ALL_XXXINIT_SECTIONS, NULL }, 1030 .fromsec = { ALL_XXXEXIT_SECTIONS, NULL }, 1037 .fromsec = { ALL_INIT_SECTIONS, NULL }, 1044 .fromsec = { ALL_EXIT_SECTIONS, NULL }, 1050 .fromsec = { ALL_PCI_INIT_SECTIONS, NULL }, 1057 .fromsec = { "__ksymtab*", NULL }, 1063 .fromsec = { "__ex_table", NULL }, 1075 const char *fromsec, const char *tosec) section_mismatch() 1091 if (match(fromsec, check->fromsec)) { section_mismatch() 1112 * fromsec = .data* 1119 * fromsec = .data* 1127 * fromsec = data section 1151 * fromsec = text section 1156 const char *fromsec, const char *fromsym, secref_whitelist() 1161 match(fromsec, data_sections) && secref_whitelist() 1167 match(fromsec, data_sections) && secref_whitelist() 1173 match(fromsec, data_sections) && secref_whitelist() 1178 if (match(fromsec, head_sections) && secref_whitelist() 1187 if (match(fromsec, text_sections) && secref_whitelist() 1370 const char *fromsec, report_sec_mismatch() 1391 modname, fromsec, fromaddr, from, fromsym, from_p, to, tosec, report_sec_mismatch() 1396 prl_from = sec2annotation(fromsec); report_sec_mismatch() 1446 prl_from = sec2annotation(fromsec); report_sec_mismatch() 1460 prl_from = sec2annotation(fromsec); report_sec_mismatch() 1477 prl_from = sec2annotation(fromsec); report_sec_mismatch() 1512 Elf_Rela *r, Elf_Sym *sym, const char *fromsec) default_mismatch_handler() 1520 from = find_elf_symbol2(elf, r->r_offset, fromsec); default_mismatch_handler() 1533 fromsec, fromsym, tosec, tosym)) { default_mismatch_handler() 1535 fromsec, r->r_offset, fromsym, default_mismatch_handler() 1589 const char* fromsec, const char* tosec) report_extable_warnings() 1591 Elf_Sym* fromsym = find_elf_symbol2(elf, r->r_offset, fromsec); report_extable_warnings() 1607 modname, fromsec, (long)r->r_offset, from_pretty_name, report_extable_warnings() 1621 fromsec, (long)r->r_offset, tosec, tosec, tosec); report_extable_warnings() 1627 const char *fromsec) extable_mismatch_handler() 1635 fromsec, tosec); extable_mismatch_handler() 1643 fromsec, (long)r->r_offset, tosec, modname); extable_mismatch_handler() 1651 fromsec, (long)r->r_offset, tosec); extable_mismatch_handler() 1658 fromsec, (long)r->r_offset, tosec); extable_mismatch_handler() 1663 Elf_Rela *r, Elf_Sym *sym, const char *fromsec) check_section_mismatch() 1666 const struct sectioncheck *mismatch = section_mismatch(fromsec, tosec); check_section_mismatch() 1671 r, sym, fromsec); check_section_mismatch() 1674 r, sym, fromsec); check_section_mismatch() 1781 const char *fromsec; section_rela() local 1786 fromsec = sech_name(elf, sechdr); section_rela() 1787 fromsec += strlen(".rela"); section_rela() 1789 if (match(fromsec, section_white_list)) section_rela() 1814 if (is_second_extable_reloc(start, rela, fromsec)) section_rela() 1815 find_extable_entry_size(fromsec, &r); section_rela() 1816 check_section_mismatch(modname, elf, &r, sym, fromsec); section_rela() 1827 const char *fromsec; section_rel() local 1832 fromsec = sech_name(elf, sechdr); section_rel() 1833 fromsec += strlen(".rel"); section_rel() 1835 if (match(fromsec, section_white_list)) section_rel() 1874 if (is_second_extable_reloc(start, rel, fromsec)) section_rel() 1875 find_extable_entry_size(fromsec, &r); section_rel() 1876 check_section_mismatch(modname, elf, &r, sym, fromsec); section_rel() 1074 section_mismatch( const char *fromsec, const char *tosec) section_mismatch() argument 1155 secref_whitelist(const struct sectioncheck *mismatch, const char *fromsec, const char *fromsym, const char *tosec, const char *tosym) secref_whitelist() argument 1368 report_sec_mismatch(const char *modname, const struct sectioncheck *mismatch, const char *fromsec, unsigned long long fromaddr, const char *fromsym, int from_is_func, const char *tosec, const char *tosym, int to_is_func) report_sec_mismatch() argument 1510 default_mismatch_handler(const char *modname, struct elf_info *elf, const struct sectioncheck* const mismatch, Elf_Rela *r, Elf_Sym *sym, const char *fromsec) default_mismatch_handler() argument 1586 report_extable_warnings(const char* modname, struct elf_info* elf, const struct sectioncheck* const mismatch, Elf_Rela* r, Elf_Sym* sym, const char* fromsec, const char* tosec) report_extable_warnings() argument 1624 extable_mismatch_handler(const char* modname, struct elf_info *elf, const struct sectioncheck* const mismatch, Elf_Rela* r, Elf_Sym* sym, const char *fromsec) extable_mismatch_handler() argument 1662 check_section_mismatch(const char *modname, struct elf_info *elf, Elf_Rela *r, Elf_Sym *sym, const char *fromsec) check_section_mismatch() argument
|