From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7279429462508663676==" MIME-Version: 1.0 From: Thomas Gleixner To: kbuild-all@lists.01.org Subject: [PATCH] x86/entry: Fix noinstr violation Date: Thu, 08 Jul 2021 15:37:14 +0200 Message-ID: <87a6mxorjp.ffs@nanos.tec.linutronix.de> In-Reply-To: <202106291306.0c9aeGFw-lkp@intel.com> List-Id: --===============7279429462508663676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable The recent commit which fixed the entry/exit mismatch on failed 32-bit syscalls got the ordering vs. instrumentation_end() wrong, which makes objtool complain about tracer invocation in an instrumentation disabled region. Stick the offending local_irq_disable() into the instrumentation enabled region so objtool stops complaining. Fixes: 5d5675df792f ("x86/entry: Fix entry/exit mismatch on failed fast 32-= bit syscalls") Reported-by: kernel test robot Signed-off-by: Thomas Gleixner Cc: stable(a)vger.kernel.org --- arch/x86/entry/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/x86/entry/common.c +++ b/arch/x86/entry/common.c @@ -130,8 +130,8 @@ static noinstr bool __do_fast_syscall_32 /* User code screwed up. */ regs->ax =3D -EFAULT; = - instrumentation_end(); local_irq_disable(); + instrumentation_end(); irqentry_exit_to_user_mode(regs); return false; } --===============7279429462508663676==--