]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerSasha Levin <sashal@kernel.org>
Wed, 30 Jun 2021 12:47:17 +0000 (08:47 -0400)
[ Upstream commit 240001d4e3041832e8a2654adc3ccf1683132b92 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/x86/entry/common.c

index 2e4d91f3feea4413534dfe870f1fb736d8b75639..93a3122cd15fff046d273aa3a0e9531ef7552652 100644 (file)
@@ -127,8 +127,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;
        }