arm64: make _TIF_WORK_MASK bits contiguous
We need the bits of _TIF_WORK_MASK to be contiguous in order to to use this as an immediate argument to an AND instruction in entry.S. We happened to change these bits in commits:b5a5a01d8e
("arm64: uaccess: remove addr_limit_user_check()")192caabd4d
("arm64: add support for TIF_NOTIFY_SIGNAL") which each worked in isolation, but the merge resolution in commit:005b2a9dc8
("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block") happened to make the bits non-contiguous. Fix this by moving TIF_NOTIFY_SIGNAL to be bit 6, which is contiguous with the rest of _TIF_WORK_MASK. Otherwise, we'll get a build-time failure as below: arch/arm64/kernel/entry.S: Assembler messages: arch/arm64/kernel/entry.S:733: Error: immediate out of range at operand 3 -- `and x2,x19,#((1<<1)|(1<<0)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<7))' scripts/Makefile.build:360: recipe for target 'arch/arm64/kernel/entry.o' failed Fixes:005b2a9dc8
("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block") Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
19778dd504
commit
870d16757b
|
@ -64,7 +64,7 @@ void arch_release_task_struct(struct task_struct *tsk);
|
||||||
#define TIF_FOREIGN_FPSTATE 3 /* CPU's FP state is not current's */
|
#define TIF_FOREIGN_FPSTATE 3 /* CPU's FP state is not current's */
|
||||||
#define TIF_UPROBE 4 /* uprobe breakpoint or singlestep */
|
#define TIF_UPROBE 4 /* uprobe breakpoint or singlestep */
|
||||||
#define TIF_MTE_ASYNC_FAULT 5 /* MTE Asynchronous Tag Check Fault */
|
#define TIF_MTE_ASYNC_FAULT 5 /* MTE Asynchronous Tag Check Fault */
|
||||||
#define TIF_NOTIFY_SIGNAL 7 /* signal notifications exist */
|
#define TIF_NOTIFY_SIGNAL 6 /* signal notifications exist */
|
||||||
#define TIF_SYSCALL_TRACE 8 /* syscall trace active */
|
#define TIF_SYSCALL_TRACE 8 /* syscall trace active */
|
||||||
#define TIF_SYSCALL_AUDIT 9 /* syscall auditing */
|
#define TIF_SYSCALL_AUDIT 9 /* syscall auditing */
|
||||||
#define TIF_SYSCALL_TRACEPOINT 10 /* syscall tracepoint for ftrace */
|
#define TIF_SYSCALL_TRACEPOINT 10 /* syscall tracepoint for ftrace */
|
||||||
|
|
Loading…
Reference in New Issue