lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7f36d90ada07281dd0efa4339c991cb2ecec4da2.camel@infradead.org>
Date: Thu, 13 Mar 2025 19:58:10 +0000
From: David Woodhouse <dwmw2@...radead.org>
To: Ingo Molnar <mingo@...nel.org>
Cc: kexec@...ts.infradead.org, Thomas Gleixner <tglx@...utronix.de>, Ingo
 Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>, Dave Hansen
 <dave.hansen@...ux.intel.com>, x86@...nel.org, "H . Peter Anvin"
 <hpa@...or.com>,  "Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
 Kai Huang <kai.huang@...el.com>, Nikolay Borisov <nik.borisov@...e.com>, 
 linux-kernel@...r.kernel.org, Simon Horman <horms@...nel.org>, Dave Young
 <dyoung@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
 jpoimboe@...nel.org,  bsz@...zon.de
Subject: Re: [PATCH v7 0/8] x86/kexec: Add exception handling for
 relocate_kernel

On Thu, 2025-03-13 at 11:54 +0100, Ingo Molnar wrote:
> 
> * Ingo Molnar <mingo@...nel.org> 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.

Download attachment "smime.p7s" of type "application/pkcs7-signature" (5069 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ