[GIT,pull] x86/urgent for v6.5-rc1

Message ID 168823486244.3978156.6059859588267964136.tglx@xen13
State New
Headers
Series [GIT,pull] x86/urgent for v6.5-rc1 |

Commit Message

Thomas Gleixner July 1, 2023, 6:08 p.m. UTC
  Linus,

please pull the latest x86/urgent branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-2023-07-01

up to:  0303c9729afc: x86/efi: Make efi_set_virtual_address_map IBT safe


A single regression fix for x86:

  Moving the invocation of arch_cpu_finalize_init() earlier in the boot
  process caused a boot regression on IBT enabled system.

  The root cause is not the move of arch_cpu_finalize_init() itself. The
  system fails to boot because the subsequent efi_enter_virtual_mode() code
  has a non-IBT safe EFI call inside. This was never noticed because IBT
  was enabled after the EFI initialization.

  Switching the EFI call to use the IBT safe wrapper cures the problem.

Thanks,

	tglx

------------------>
Thomas Gleixner (1):
      x86/efi: Make efi_set_virtual_address_map IBT safe


 arch/x86/platform/efi/efi_64.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index 232acf418cfb..77f7ac3668cb 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -853,9 +853,9 @@  efi_set_virtual_address_map(unsigned long memory_map_size,
 
 	/* Disable interrupts around EFI calls: */
 	local_irq_save(flags);
-	status = efi_call(efi.runtime->set_virtual_address_map,
-			  memory_map_size, descriptor_size,
-			  descriptor_version, virtual_map);
+	status = arch_efi_call_virt(efi.runtime, set_virtual_address_map,
+				    memory_map_size, descriptor_size,
+				    descriptor_version, virtual_map);
 	local_irq_restore(flags);
 
 	efi_fpu_end();