]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Mon, 4 Mar 2024 05:08:42 +0000 (21:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Mar 2024 14:48:44 +0000 (14:48 +0000)
commit7a62647efcb2f7b744ff52ad91c23eda1ec9be94
tree7b178b515fbd853f4e1a5c78b8d277a07c1003a3
parentca13d8cd8dac25558da4ee8df4dc70e8e7f9d762
x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key

commit 6613d82e617dd7eb8b0c40b2fe3acea655b1d611 upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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