mirror of https://gitee.com/openkylin/linux.git
b68b990706
A Clang-built kernel is showing the following warning: arch/x86/kernel/platform-quirks.o: warning: objtool: x86_early_init_platform_quirks()+0x84: unreachable instruction That corresponds to this code: 7e: 0f 85 00 00 00 00 jne 84 <x86_early_init_platform_quirks+0x84> 80: R_X86_64_PC32 __x86_indirect_thunk_r11-0x4 84: c3 retq This is a conditional retpoline sibling call, which is now possible thanks to retpolines. Objtool hasn't seen that before. It's incorrectly interpreting the conditional jump as an unconditional dynamic jump. Reported-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/30d4c758b267ef487fb97e6ecb2f148ad007b554.1563413318.git.jpoimboe@redhat.com |
||
---|---|---|
.. | ||
Documentation | ||
arch/x86 | ||
.gitignore | ||
Build | ||
Makefile | ||
arch.h | ||
builtin-check.c | ||
builtin-orc.c | ||
builtin.h | ||
cfi.h | ||
check.c | ||
check.h | ||
elf.c | ||
elf.h | ||
objtool.c | ||
orc.h | ||
orc_dump.c | ||
orc_gen.c | ||
special.c | ||
special.h | ||
sync-check.sh | ||
warn.h |