x86/entry_32: Add VERW just before userspace transition
commit a0e2dab44d22b913b4c228c8b52b2a104434b0b3 upstream. As done for entry_64, add support for executing VERW late in exit to user path for 32-bit 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-3-a6216d83edb7%40linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0fdc02f439
commit
2bf16bddd7
1 changed files with 3 additions and 0 deletions
|
@ -949,6 +949,7 @@ SYM_FUNC_START(entry_SYSENTER_32)
|
||||||
BUG_IF_WRONG_CR3 no_user_check=1
|
BUG_IF_WRONG_CR3 no_user_check=1
|
||||||
popfl
|
popfl
|
||||||
popl %eax
|
popl %eax
|
||||||
|
CLEAR_CPU_BUFFERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return back to the vDSO, which will pop ecx and edx.
|
* Return back to the vDSO, which will pop ecx and edx.
|
||||||
|
@ -1021,6 +1022,7 @@ restore_all_switch_stack:
|
||||||
|
|
||||||
/* Restore user state */
|
/* Restore user state */
|
||||||
RESTORE_REGS pop=4 # skip orig_eax/error_code
|
RESTORE_REGS pop=4 # skip orig_eax/error_code
|
||||||
|
CLEAR_CPU_BUFFERS
|
||||||
.Lirq_return:
|
.Lirq_return:
|
||||||
/*
|
/*
|
||||||
* ARCH_HAS_MEMBARRIER_SYNC_CORE rely on IRET core serialization
|
* ARCH_HAS_MEMBARRIER_SYNC_CORE rely on IRET core serialization
|
||||||
|
@ -1219,6 +1221,7 @@ SYM_CODE_START(asm_exc_nmi)
|
||||||
|
|
||||||
/* Not on SYSENTER stack. */
|
/* Not on SYSENTER stack. */
|
||||||
call exc_nmi
|
call exc_nmi
|
||||||
|
CLEAR_CPU_BUFFERS
|
||||||
jmp .Lnmi_return
|
jmp .Lnmi_return
|
||||||
|
|
||||||
.Lnmi_from_sysenter_stack:
|
.Lnmi_from_sysenter_stack:
|
||||||
|
|
Loading…
Reference in a new issue