[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200313172257.GC12521@hirez.programming.kicks-ass.net>
Date: Fri, 13 Mar 2020 18:22:57 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Brian Gerst <brgerst@...il.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
the arch/x86 maintainers <x86@...nel.org>
Subject: Re: [RFC][PATCH 04/16] objtool: Annotate identity_mapped()
On Fri, Mar 13, 2020 at 12:46:05PM -0400, Brian Gerst wrote:
> On Thu, Mar 12, 2020 at 9:53 AM Peter Zijlstra <peterz@...radead.org> wrote:
> >
> > Normally identity_mapped is not visible to objtool, due to:
> >
> > arch/x86/kernel/Makefile:OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o := y
> >
> > However, when we want to run objtool on vmlinux.o there is no hiding
> > it. Without the annotation we'll get complaints about the:
> >
> call 1f
> 1: popq %r8
> subq $(1b - relocate_kernel), %r8
>
> It looks to me that this code is simply trying to get the virtual
> address of relocate_kernel using the old 32-bit method of PIC address
> calculation. On 64-bit can be done with leaq relocate_kernel(%rip),
> %r8.
Indeed. Objtool would be happy with that. And it seems I can still kexec
a kernel too.
Thanks!
Powered by blists - more mailing lists