Re: [RFC][PATCH 04/16] objtool: Annotate identity_mapped()

From: Brian Gerst
Date: Fri Mar 13 2020 - 12:46:19 EST


On Thu, Mar 12, 2020 at 9:53 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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.

--
Brian Gerst