x86/entry: Fix noinstr fail in __do_fast_syscall_32()
authorPeter Zijlstra <peterz@infradead.org>
Mon, 21 Jun 2021 11:12:34 +0000 (13:12 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 22 Jun 2021 11:56:42 +0000 (13:56 +0200)
Fix:

  vmlinux.o: warning: objtool: __do_fast_syscall_32()+0xf5: call to trace_hardirqs_off() leaves .noinstr.text section

Fixes: 5d5675df792f ("x86/entry: Fix entry/exit mismatch on failed fast 32-bit syscalls")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20210621120120.467898710@infradead.org
arch/x86/entry/common.c

index 7b2542b..a6bf516 100644 (file)
@@ -130,8 +130,8 @@ static noinstr bool __do_fast_syscall_32(struct pt_regs *regs)
                /* User code screwed up. */
                regs->ax = -EFAULT;
 
-               instrumentation_end();
                local_irq_disable();
+               instrumentation_end();
                irqentry_exit_to_user_mode(regs);
                return false;
        }