Message ID | 20211013181658.1020262-13-samitolvanen@google.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | x86: Add support for Clang CFI | expand |
On Wed, Oct 13, 2021 at 11:16:55AM -0700, Sami Tolvanen wrote: > The R_X86_64_8 __typeid__* relocations are for constants the compiler > generates for indirect call type checking with CONFIG_CFI_CLANG. Ignore > them when loading modules. > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Kees Cook <keescook@chromium.org>
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index 5e9a34b5bd74..c4aeba237eef 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c @@ -197,6 +197,10 @@ static int __apply_relocate_add(Elf64_Shdr *sechdrs, val -= (u64)loc; write(loc, &val, 8); break; + case R_X86_64_8: + if (!strncmp(strtab + sym->st_name, "__typeid__", 10)) + break; + fallthrough; default: pr_err("%s: Unknown rela relocation: %llu\n", me->name, ELF64_R_TYPE(rel[i].r_info));