[PATCH] x86/efi: Load fixmap GDT in efi_call_phys_epilog() before setting %cr3

2018-09-11 Thread Guenter Roeck
Commit eeb89e2bb1ac ("x86/efi: Load fixmap GDT in efi_call_phys_epilog()") moved loading the fixmap in efi_call_phys_epilog() after load_cr3() since it was assumed to be more logical. Turns out this is incorrect: In efi_call_phys_prolog(), we load the gdt with its physical address, and when we rel

[PATCH] x86/efi: Load fixmap GDT in efi_call_phys_epilog()

2018-08-31 Thread Joerg Roedel
From: Joerg Roedel When PTI is enabled on x86-32 the kernel uses the GDT mapped in the fixmap for the simple reason that this address is also mapped for user-space. The efi_call_phys_prolog()/efi_call_phys_epilog() wrappers change the GDT to call EFI runtime services and switch back to the kerne