Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: renumber bits related to _TIF_WORK_MASK

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>

+7 -6
+7 -6
arch/arm/include/asm/thread_info.h
··· 128 128 #define TIF_NEED_RESCHED 1 /* rescheduling necessary */ 129 129 #define TIF_NOTIFY_RESUME 2 /* callback before returning to user */ 130 130 #define TIF_UPROBE 3 /* breakpointed or singlestepping */ 131 - #define TIF_SYSCALL_TRACE 4 /* syscall trace active */ 132 - #define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */ 133 - #define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */ 134 - #define TIF_SECCOMP 7 /* seccomp syscall filtering active */ 135 - #define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ 131 + #define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ 136 132 137 133 #define TIF_USING_IWMMXT 17 138 134 #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ 139 - #define TIF_RESTORE_SIGMASK 20 135 + #define TIF_RESTORE_SIGMASK 19 136 + #define TIF_SYSCALL_TRACE 20 /* syscall trace active */ 137 + #define TIF_SYSCALL_AUDIT 21 /* syscall auditing active */ 138 + #define TIF_SYSCALL_TRACEPOINT 22 /* syscall tracepoint instrumentation */ 139 + #define TIF_SECCOMP 23 /* seccomp syscall filtering active */ 140 + 140 141 141 142 #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 142 143 #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)