[PATCH v3 0/2] fix task_work interation with freezing

From: Pavel Begunkov
Date: Wed Jul 10 2024 - 13:58:32 EST


It's reported [1] that a task_work queued at a wrong time can prevent
freezing and make the tasks to spin in get_signal() taking 100%
of CPU. Patch 1 is a preparation. Patch 2 addresses the issue.

[1] https://github.com/systemd/systemd/issues/33626

v3: Slightly adjust commit messages
v2: Move task_work_run() into do_freezer_trap()
Correct the Fixes tag is 2/2

Pavel Begunkov (2):
io_uring/io-wq: limit retrying worker initialisation
kernel: rerun task_work while freezing in get_signal()

io_uring/io-wq.c | 10 +++++++---
kernel/signal.c | 8 ++++++++
2 files changed, 15 insertions(+), 3 deletions(-)

--
2.44.0