ARM: renumber bits related to _TIF_WORK_MASK
authorJens Axboe <axboe@kernel.dk>
Wed, 4 Jan 2023 14:48:37 +0000 (07:48 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 10:59:05 +0000 (11:59 +0100)
commit 191f8453fc99a537ea78b727acea739782378b0d upstream.

We want to ensure that the mask related to calling do_work_pending()
is within the first 16 bits. Move bits unrelated to that outside of
that range, to avoid spuriously calling do_work_pending() when we don't
need to.

Cc: stable@vger.kernel.org
Fixes: 32d59773da38 ("arm: add support for TIF_NOTIFY_SIGNAL")
Reported-and-tested-by: Hui Tang <tanghui20@huawei.com>
Suggested-by: Russell King (Oracle) <linux@armlinux.org.uk>
Link: https://lore.kernel.org/lkml/7ecb8f3c-2aeb-a905-0d4a-aa768b9649b5@huawei.com/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/include/asm/thread_info.h

index 9a18da3..b682189 100644 (file)
@@ -129,15 +129,16 @@ extern int vfp_restore_user_hwstate(struct user_vfp *,
 #define TIF_NEED_RESCHED       1       /* rescheduling necessary */
 #define TIF_NOTIFY_RESUME      2       /* callback before returning to user */
 #define TIF_UPROBE             3       /* breakpointed or singlestepping */
-#define TIF_SYSCALL_TRACE      4       /* syscall trace active */
-#define TIF_SYSCALL_AUDIT      5       /* syscall auditing active */
-#define TIF_SYSCALL_TRACEPOINT 6       /* syscall tracepoint instrumentation */
-#define TIF_SECCOMP            7       /* seccomp syscall filtering active */
-#define TIF_NOTIFY_SIGNAL      8       /* signal notifications exist */
+#define TIF_NOTIFY_SIGNAL      4       /* signal notifications exist */
 
 #define TIF_USING_IWMMXT       17
 #define TIF_MEMDIE             18      /* is terminating due to OOM killer */
-#define TIF_RESTORE_SIGMASK    20
+#define TIF_RESTORE_SIGMASK    19
+#define TIF_SYSCALL_TRACE      20      /* syscall trace active */
+#define TIF_SYSCALL_AUDIT      21      /* syscall auditing active */
+#define TIF_SYSCALL_TRACEPOINT 22      /* syscall tracepoint instrumentation */
+#define TIF_SECCOMP            23      /* seccomp syscall filtering active */
+
 
 #define _TIF_SIGPENDING                (1 << TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED      (1 << TIF_NEED_RESCHED)