Re: Remaining randconfig objtool warnings, linux-next-20200428

From: Arnd Bergmann
Date: Tue Apr 28 2020 - 16:20:07 EST


On Tue, Apr 28, 2020 at 6:10 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> On Tue, Apr 28, 2020 at 04:49:15PM +0200, Arnd Bergmann wrote:
> > ==> build/x86/0xFD7B7323_defconfig/log <==
> > arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x991: unreachable instruction
>
> This warning looks correct, did you make a change to entry_64.S?

I bisected my local patches and found that I had a local hack that turned
off CONFIG_RETPOLINE for testing something unrelated. I can reproduce
it on linux-next with this patch:

--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -447,8 +447,7 @@ config GOLDFISH
depends on X86_GOLDFISH

config RETPOLINE
- bool "Avoid speculative indirect branches in kernel"
- default y
+ def_bool n
select STACK_VALIDATION if HAVE_STACK_VALIDATION
help
Compile kernel with the retpoline compiler options to guard against

> > ==> build/x86/0xE0F2ACFF_defconfig/log <==
> > kernel/time/posix-stubs.o: warning: objtool: __x64_sys_timer_create()+0x23: sibling call from callable instruction with modified stack frame
> >
> > ==> build/x86/0x2EA4CE4F_defconfig/log <==
> > kernel/kcov.o: warning: objtool: write_comp_data()+0x1b: call to check_kcov_mode() with UACCESS enabled
> > kernel/kcov.o: warning: objtool: __sanitizer_cov_trace_pc()+0x15: call to check_kcov_mode() with UACCESS enabled
> >
> > ==> build/x86/0x500B1B82_defconfig/log <==
> > kernel/bpf/core.o: warning: objtool: ___bpf_prog_run()+0x1269: call
> > without frame pointer save/setup
>
> I'll look into these.

Thanks!

Arnd