Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7a65e06 authored by Quentin Casasnovas's avatar Quentin Casasnovas Committed by Rusty Russell
Browse files

modpost: mismatch_handler: retrieve tosym information only when needed.

parent 356ad538
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1432,16 +1432,17 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf,
	const char *tosym;
	const char *fromsym;

	tosec = sec_name(elf, get_secindex(elf, sym));
	from = find_elf_symbol2(elf, r->r_offset, fromsec);
	fromsym = sym_name(elf, from);
	to = find_elf_symbol(elf, r->r_addend, sym);
	tosym = sym_name(elf, to);

	if (!strncmp(fromsym, "reference___initcall",
		     sizeof("reference___initcall")-1))
		return;

	tosec = sec_name(elf, get_secindex(elf, sym));
	to = find_elf_symbol(elf, r->r_addend, sym);
	tosym = sym_name(elf, to);

	/* check whitelist - we may ignore it */
	if (secref_whitelist(mismatch,
			     fromsec, fromsym, tosec, tosym)) {