x86/entry/64: Trace irqflags unconditionally as ON when returning to user space
authorThomas Gleixner <tglx@linutronix.de>
Sun, 8 Mar 2020 22:24:03 +0000 (23:24 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 10 Mar 2020 12:56:32 +0000 (13:56 +0100)
User space cannot disable interrupts any longer so trace return to user space
unconditionally as IRQS_ON.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Link: https://lkml.kernel.org/r/20200308222609.314596327@linutronix.de
arch/x86/entry/entry_32.S
arch/x86/entry/entry_64.S

index 80df781..b67bae7 100644 (file)
@@ -1088,7 +1088,7 @@ SYM_FUNC_START(entry_INT80_32)
        STACKLEAK_ERASE
 
 restore_all:
-       TRACE_IRQS_IRET
+       TRACE_IRQS_ON
        SWITCH_TO_ENTRY_STACK
        CHECK_AND_APPLY_ESPFIX
 
index f2bb91e..0e9504f 100644 (file)
@@ -174,7 +174,7 @@ SYM_INNER_LABEL(entry_SYSCALL_64_after_hwframe, SYM_L_GLOBAL)
        movq    %rsp, %rsi
        call    do_syscall_64           /* returns with IRQs disabled */
 
-       TRACE_IRQS_IRETQ                /* we're about to change IF */
+       TRACE_IRQS_ON                   /* return enables interrupts */
 
        /*
         * Try to use SYSRET instead of IRET if we're returning to
@@ -619,7 +619,7 @@ ret_from_intr:
 .Lretint_user:
        mov     %rsp,%rdi
        call    prepare_exit_to_usermode
-       TRACE_IRQS_IRETQ
+       TRACE_IRQS_ON
 
 SYM_INNER_LABEL(swapgs_restore_regs_and_return_to_usermode, SYM_L_GLOBAL)
 #ifdef CONFIG_DEBUG_ENTRY