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



Reply via email to