Messages in this thread Patch in this message | | | Date | Mon, 23 Aug 2021 10:13:14 -0700 | Subject | [PATCH v2 10/14] x86, relocs: Ignore __typeid__ relocations | From | Sami Tolvanen <> |
| |
From: Kees Cook <keescook@chromium.org>
The __typeid__* symbols aren't actually relocations, so they can be ignored during relocation generation.
Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Sami Tolvanen <samitolvanen@google.com> --- arch/x86/tools/relocs.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c index 9ba700dc47de..fbc57cc00914 100644 --- a/arch/x86/tools/relocs.c +++ b/arch/x86/tools/relocs.c @@ -48,6 +48,7 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = { "^(xen_irq_disable_direct_reloc$|" "xen_save_fl_direct_reloc$|" "VDSO|" + "__typeid__|" "__crc_)", /* @@ -808,6 +809,12 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym, symname); break; + case R_X86_64_8: + if (!shn_abs || !is_reloc(S_ABS, symname)) + die("Non-whitelisted %s relocation: %s\n", + rel_type(r_type), symname); + break; + case R_X86_64_32: case R_X86_64_32S: case R_X86_64_64: -- 2.33.0.rc2.250.ged5fa647cd-goog
| |