x86/entry: Annotate noinstr escape in __do_fast_syscall_32()

From: Thomas Gleixner
Date: Thu Dec 17 2020 - 15:29:25 EST


The recent change to unbreak the 32bit fast syscall introduced a new
noinstr escape. While harmless because state is already established at
this point it makes objtool complain.

Add the missing annotation and fix the 'case' typo in the comment while
at it.

Fixes: 4facb95b7ada ("x86/entry: Unbreak 32bit fast syscall")
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
arch/x86/entry/common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -130,8 +130,10 @@ static noinstr bool __do_fast_syscall_32
return false;
}

- /* The case truncates any ptrace induced syscall nr > 2^32 -1 */
+ instrumentation_begin();
+ /* The cast truncates any ptrace induced syscall nr > 2^32 -1 */
nr = (unsigned int)syscall_enter_from_user_mode_work(regs, nr);
+ instrumentation_end();

/* Now this is just like a normal syscall. */
do_syscall_32_irqs_on(regs, nr);