提交 6916fd08 编写于 作者: C 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: NCatalin Marinas <catalin.marinas@arm.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册