Commit 6916fd08 authored by Catalin Marinas's avatar Catalin Marinas

arm64: Enable interrupts before calling do_notify_resume()

task_work_run() implementation had the side effect of enabling
interrupts. With commit ac3d0da8 (task_work: Make task_work_add()
lockless), interrupts are no longer enabled revealing the bug in the
arch code. This patch enables the interrupt explicitly before calling
do_notify_resume().
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent e048d004
...@@ -583,6 +583,7 @@ work_pending: ...@@ -583,6 +583,7 @@ work_pending:
mov x0, sp // 'regs' mov x0, sp // 'regs'
tst x2, #PSR_MODE_MASK // user mode regs? tst x2, #PSR_MODE_MASK // user mode regs?
b.ne no_work_pending // returning to kernel b.ne no_work_pending // returning to kernel
enable_irq // enable interrupts for do_notify_resume()
bl do_notify_resume bl do_notify_resume
b ret_to_user b ret_to_user
work_resched: work_resched:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment