The code at .Lrestore_nocheck does not make any assumptions on register values, so all registers can be clobbered on code paths leading there.
Signed-off-by: Jan Beulich <[email protected]> --- arch/x86/entry/entry_32.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- 4.10-rc6/arch/x86/entry/entry_32.S +++ 4.10-rc6-ix86-relax-clobber/arch/x86/entry/entry_32.S @@ -585,7 +585,7 @@ ENTRY(iret_exc ) * will soon execute iret and the tracer was already set to * the irqstate after the IRET: */ - DISABLE_INTERRUPTS(CLBR_EAX) + DISABLE_INTERRUPTS(CLBR_ANY) lss (%esp), %esp /* switch to espfix segment */ jmp .Lrestore_nocheck #endif

