x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Wed, 14 Feb 2024 02:22:24 +0000 (18:22 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Tue, 20 Feb 2024 00:31:49 +0000 (16:31 -0800)
commit6613d82e617dd7eb8b0c40b2fe3acea655b1d611
tree12b811a5b6d4013fea0cc31bc2f79036bd0d138d
parenta0e2dab44d22b913b4c228c8b52b2a104434b0b3
x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key

The VERW mitigation at exit-to-user is enabled via a static branch
mds_user_clear. This static branch is never toggled after boot, and can
be safely replaced with an ALTERNATIVE() which is convenient to use in
asm.

Switch to ALTERNATIVE() to use the VERW mitigation late in exit-to-user
path. Also remove the now redundant VERW in exc_nmi() and
arch_exit_to_user_mode().

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20240213-delay-verw-v8-4-a6216d83edb7%40linux.intel.com
Documentation/arch/x86/mds.rst
arch/x86/include/asm/entry-common.h
arch/x86/include/asm/nospec-branch.h
arch/x86/kernel/cpu/bugs.c
arch/x86/kernel/nmi.c
arch/x86/kvm/vmx/vmx.c