diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2021-01-06 12:34:36 -0800 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2021-01-07 14:04:42 -0800 |
commit | bb12433bf56e76789c6b08b36c546f745a6aa6e1 (patch) | |
tree | 9e97d5c41938b1cd3ab6a78ab2c34f70a410b3de /arch | |
parent | f4d9359de8ac0fb64a5ecc9c34833705eb53327b (diff) | |
download | lwn-bb12433bf56e76789c6b08b36c546f745a6aa6e1.tar.gz lwn-bb12433bf56e76789c6b08b36c546f745a6aa6e1.zip |
ARC: unbork 5.11 bootup: fix snafu in _TIF_NOTIFY_SIGNAL handling
Linux 5.11.rcX was failing to boot on ARC HSDK board. Turns out we have
a couple of issues, this being the first one, and I'm to blame as I
didn't pay attention during review.
TIF_NOTIFY_SIGNAL support requires checking multiple TIF_* bits in
kernel return code path. Old code only needed to check a single bit so
BBIT0 <TIF_SIGPENDING> worked. New code needs to check multiple bits so
AND <bit-mask> instruction. So needs to use bit mask variant _TIF_SIGPENDING
Cc: Jens Axboe <axboe@kernel.dk>
Fixes: 53855e12588743ea128 ("arc: add support for TIF_NOTIFY_SIGNAL")
Link: https://github.com/foss-for-synopsys-dwc-arc-processors/linux/issues/34
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arc/kernel/entry.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 1f5308abf36d..1743506081da 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S @@ -307,7 +307,7 @@ resume_user_mode_begin: mov r0, sp ; pt_regs for arg to do_signal()/do_notify_resume() GET_CURR_THR_INFO_FLAGS r9 - and.f 0, r9, TIF_SIGPENDING|TIF_NOTIFY_SIGNAL + and.f 0, r9, _TIF_SIGPENDING|_TIF_NOTIFY_SIGNAL bz .Lchk_notify_resume ; Normal Trap/IRQ entry only saves Scratch (caller-saved) regs |