alpha: fix syscall entry in !AUDUT_SYSCALL case
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 18 Sep 2021 22:18:48 +0000 (18:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 08:26:09 +0000 (09:26 +0100)
[ Upstream commit f7b2431a6d22f7a91c567708e071dfcd6d66db14 ]

We only want to take the slow path if SYSCALL_TRACE or SYSCALL_AUDIT is
set; on !AUDIT_SYSCALL configs the current tree hits it whenever _any_
thread flag (including NEED_RESCHED, NOTIFY_SIGNAL, etc.) happens to
be set.

Fixes: a9302e843944 "alpha: Enable system-call auditing support"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/alpha/kernel/entry.S

index d92abb01c24951915583a0d281b5e394e5de935b..25eda9c103c40061e594fbb21d1150488e213300 100644 (file)
@@ -469,8 +469,10 @@ entSys:
 #ifdef CONFIG_AUDITSYSCALL
        lda     $6, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
        and     $3, $6, $3
-#endif
        bne     $3, strace
+#else
+       blbs    $3, strace              /* check for SYSCALL_TRACE in disguise */
+#endif
        beq     $4, 1f
        ldq     $27, 0($5)
 1:     jsr     $26, ($27), alpha_ni_syscall