[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
On Thu, Apr 11, 2024 at 11:26 AM Jason Andryuk <jason.andryuk@xxxxxxx> wrote: > > On 2024-04-10 17:00, Brian Gerst wrote: > > On Wed, Apr 10, 2024 at 3:50 PM Jason Andryuk <jason.andryuk@xxxxxxx> wrote: > > >> /* 64-bit entry point. */ > >> .code64 > >> 1: > >> + UNWIND_HINT_END_OF_STACK > >> + > >> /* Set base address in stack canary descriptor. */ > >> mov $MSR_GS_BASE,%ecx > >> - mov $_pa(canary), %eax > >> + leal rva(canary)(%ebp), %eax > > > > Since this is in 64-bit mode, RIP-relative addressing can be used. > > > >> xor %edx, %edx > >> wrmsr > >> > >> call xen_prepare_pvh > >> > >> /* startup_64 expects boot_params in %rsi. */ > >> - mov $_pa(pvh_bootparams), %rsi > >> - mov $_pa(startup_64), %rax > >> + lea rva(pvh_bootparams)(%ebp), %rsi > >> + lea rva(startup_64)(%ebp), %rax > > > > RIP-relative here too. > > Yes, thanks for catching that. With the RIP-relative conversion, there > is now: > vmlinux.o: warning: objtool: pvh_start_xen+0x10d: relocation to !ENDBR: > startup_64+0x0 > > I guess RIP-relative made it visible. That can be quieted by adding > ANNOTATE_NOENDBR to startup_64. Change it to a direct jump, since branches are always RIP-relative. Brian Gerst
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |