linux/arch/x86/entry
Pawan Gupta 227358e897 x86/entry_32: Clear CPU buffers after register restore in NMI return
commit 48a2440d0f upstream.

CPU buffers are currently cleared after call to exc_nmi, but before
register state is restored. This may be okay for MDS mitigation but not for
RDFS. Because RDFS mitigation requires CPU buffers to be cleared when
registers don't have any sensitive data.

Move CLEAR_CPU_BUFFERS after RESTORE_ALL_NMI.

Fixes: a0e2dab44d ("x86/entry_32: Add VERW just before userspace transition")
Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc:stable@vger.kernel.org
Link: https://lore.kernel.org/all/20240925-fix-dosemu-vm86-v7-2-1de0daca2d42%40linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-10-22 15:46:34 +02:00
..
syscalls syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-07-05 09:34:04 +02:00
vdso kbuild: unify vdso_install rules 2024-06-12 11:12:32 +02:00
vsyscall x86/mm: Remove broken vsyscall emulation code from the page fault code 2024-06-12 11:11:29 +02:00
calling.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
common.c x86/bhi: Add support for clearing branch history at syscall entry 2024-04-10 16:36:07 +02:00
entry.S x86/entry: Have entry_ibpb() invalidate return predictions 2024-10-22 15:46:26 +02:00
entry_32.S x86/entry_32: Clear CPU buffers after register restore in NMI return 2024-10-22 15:46:34 +02:00
entry_64.S x86/entry/64: Remove obsolete comment on tracing vs. SYSRET 2024-07-18 13:21:26 +02:00
entry_64_compat.S x86/bhi: Avoid warning in #DB handler due to BHI mitigation 2024-07-18 13:21:27 +02:00
Makefile x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y 2022-08-04 12:23:50 +02:00
syscall_32.c x86/syscall: Don't force use of indirect calls for system calls 2024-04-10 16:36:07 +02:00
syscall_64.c x86/syscall: Don't force use of indirect calls for system calls 2024-04-10 16:36:07 +02:00
syscall_x32.c x86/syscall: Don't force use of indirect calls for system calls 2024-04-10 16:36:07 +02:00
thunk_32.S x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y 2022-08-04 12:23:50 +02:00
thunk_64.S x86/entry: Move thunk restore code into thunk functions 2023-06-07 09:54:45 -07:00