On 7/7/2025 1:03 AM, Kirill A. Shutemov wrote: > From: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> > > Of all the EFI runtime services, set_virtual_address_map() is the only > one that is called at its lower mapping, which LASS prohibits regardless > of EFLAGS.AC setting. The only way to allow this to happen is to disable > LASS in the CR4 register. > > Disable LASS around this low address EFI call. > > Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > --- > arch/x86/platform/efi/efi.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > Reviewed-by: Sohil Mehta <sohil.mehta@xxxxxxxxx> A minor nit below. > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c > index 463b784499a8..5b23c0daedef 100644 > --- a/arch/x86/platform/efi/efi.c > +++ b/arch/x86/platform/efi/efi.c > @@ -787,6 +787,7 @@ static void __init __efi_enter_virtual_mode(void) > int count = 0, pg_shift = 0; > void *new_memmap = NULL; > efi_status_t status; > + unsigned long lass; > unsigned long pa; > The two unsigned longs can be on the same line. > if (efi_alloc_page_tables()) {