]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
x86/kexec: Disable LASS during relocate kernel
authorSohil Mehta <sohil.mehta@intel.com>
Tue, 18 Nov 2025 18:29:07 +0000 (10:29 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Tue, 18 Nov 2025 18:38:26 +0000 (10:38 -0800)
commit731d43750cf8d3c67df7aabc78cc567c6d684111
tree13fc3d9f911c6e4160b077e7653aeca4698a336a
parentb3a7e973abe6fe3b56adb39be52a4bdaefe14b65
x86/kexec: Disable LASS during relocate kernel

The relocate kernel mechanism uses an identity mapping to copy the new
kernel, which leads to a LASS violation when executing from a low
address.

LASS must be disabled after the original CR4 value is saved because
kexec paths that preserve context need to restore CR4.LASS. But,
disabling it along with CET during identity_mapped() is too late. So,
disable LASS immediately after saving CR4, along with PGE, and before
jumping to the identity-mapped page.

Signed-off-by: Sohil Mehta <sohil.mehta@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20251118182911.2983253-6-sohil.mehta%40intel.com
arch/x86/kernel/relocate_kernel_64.S