Re: [RFC PATCH] x86: Make sure verify_cpu has a good stack

From: H. Peter Anvin
Date: Wed Mar 02 2016 - 16:59:41 EST


On 03/02/16 13:46, Borislav Petkov wrote:
> On Wed, Mar 02, 2016 at 01:35:09PM -0800, H. Peter Anvin wrote:
>> You're not actually testing anything as the real issue is what happens
>> with a relocating bootloader.
>
> Hmm, how would that relocation happen so that va - __START_KERNEL_map
> doesn't give pa?
>
> Or do you mean something else with "relocating bootloader"? Do you know
> of one which does that?
>

A relocating bootloader is one that doesn't load the kernel at
CONFIG_PHYSICAL_ADDRESS. The EFI stub is one example.

__START_KERNEL_map is not relocated. On x86-64 we do relocation by
pointing the page tables at a different address.

So I really think we need this to be a leaq, so we take a nonstandard
load address into consideration.

-hpa