Commit 78f8876
committed
io-wq: exclusively gate signal based exit on get_signal() return
io-wq threads block all signals, except SIGKILL and SIGSTOP. We should not
need any extra checking of signal_pending or fatal_signal_pending, rely
exclusively on whether or not get_signal() tells us to exit.
The original debugging of this issue led to the false positive that we
were exiting on non-fatal signals, but that is not the case. The issue
was around races with nr_workers accounting.
Fixes: 87c1696 ("io-wq: ensure we exit if thread group is exiting")
Fixes: 15e20db ("io-wq: only exit on fatal signals")
Reported-by: Eric W. Biederman <[email protected]>
Reported-by: Linus Torvalds <[email protected]>
Acked-by: "Eric W. Biederman" <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>1 parent 7df778b commit 78f8876
1 file changed
+1
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
584 | 584 | | |
585 | 585 | | |
586 | 586 | | |
587 | | - | |
588 | | - | |
589 | | - | |
590 | | - | |
| 587 | + | |
591 | 588 | | |
592 | 589 | | |
593 | 590 | | |
| |||
0 commit comments