Re: [PATCH v7 0/8] x86/kexec: Add exception handling for relocate_kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2025-03-13 at 11:54 +0100, Ingo Molnar wrote:
> 
> * Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> 
> > I applied the first 3 patches to tip:x86/boot for 
> > phased-risk-reduction reasons, and because I had some questions and
> > suggestions starting at patch #4.
> 
> So there's a new objtool build warning from the new exc_handler code:
> 
>  vmlinux.o: warning: objtool: exc_handler+0xe: early indirect call
> 
> That's with a x86-64 defconfig + KVM enablement.

Reproduced that by going back to x86-64 defconfig. 

vmlinux.o: warning: objtool: exc_handler+0xe: early indirect call

SYM_CODE_START_LOCAL_NOALIGN(exc_handler)
        pushq   %rax
 2b6:   50                      push   %rax
        pushq   %rbx
 2b7:   53                      push   %rbx
        pushq   %rcx
 2b8:   51                      push   %rcx
        pushq   %rdx
 2b9:   52                      push   %rdx
        pushq   %rsi
 2ba:   56                      push   %rsi

        /* Set up %rdx/%rsi for debug output */
        pr_setup
 2bb:   48 8d 35 6e ff ff ff    lea    -0x92(%rip),%rsi        # 230 <pr_char>

        /* rip and exception info */
        print_reg 'E', 'x', 'c', ':', 0x28(%rsp)
 2c2:   b0 45                   mov    $0x45,%al
 2c4:   ff d6                   call   *%rsi



So it's the 'call *$rsi' instruction at 0x2c4, but that's annotated
with ANNOTATE_RETPOLINE_SAFE:

.macro print_reg a, b, c, d, r
	movb	$\a, %al
	ANNOTATE_RETPOLINE_SAFE
	call	*%rsi

So what's wrong with that? What *more* do I have to tell objtool to
make it shut up and go away?

Am I missing some documentation which would tell me what it's actually
unhappy about? Because "early indirect call" doesn't enlighten me very
much, and reading tools/objtool/check.c doesn't either.

<<attachment: smime.p7s>>


[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux