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)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 30 Oct 2022 03:31:15 +0000 (23:31 -0400)
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>
arch/alpha/kernel/entry.S

index e227f3a29a43c1722552eada5435e838387f8086..c41a5a9c3b9f2351ad8c95b38820e9bd9e069d9d 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), sys_ni_syscall