> On Jul 11, 2018, at 4:29 AM, Joerg Roedel <joro@xxxxxxxxxx> wrote: > > From: Joerg Roedel <jroedel@xxxxxxx> > > NMI will no longer use most of the shared return path, > because NMI needs special handling when the CR3 switches for > PTI are added. Why? What would go wrong? How many return-to-usermode paths will we have? 64-bit has only one. > This patch prepares for that. > > Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> > --- > arch/x86/entry/entry_32.S | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S > index d35a69a..571209e 100644 > --- a/arch/x86/entry/entry_32.S > +++ b/arch/x86/entry/entry_32.S > @@ -1017,7 +1017,7 @@ ENTRY(nmi) > > /* Not on SYSENTER stack. */ > call do_nmi > - jmp .Lrestore_all_notrace > + jmp .Lnmi_return > > .Lnmi_from_sysenter_stack: > /* > @@ -1028,7 +1028,11 @@ ENTRY(nmi) > movl PER_CPU_VAR(cpu_current_top_of_stack), %esp > call do_nmi > movl %ebx, %esp > - jmp .Lrestore_all_notrace > + > +.Lnmi_return: > + CHECK_AND_APPLY_ESPFIX > + RESTORE_REGS 4 > + jmp .Lirq_return > > #ifdef CONFIG_X86_ESPFIX32 > .Lnmi_espfix_stack: > -- > 2.7.4 >