Commit 634578f
io_uring: fix racy IOPOLL flush overflow
It's not safe to call io_cqring_overflow_flush() for IOPOLL mode without
hodling uring_lock, because it does synchronisation differently. Make
sure we have it.
As for io_ring_exit_work(), we don't even need it there because
io_ring_ctx_wait_and_kill() already set force flag making all overflowed
requests to be dropped.
Cc: <stable@vger.kernel.org> # 5.5+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>1 parent 31bff9a commit 634578f
1 file changed
Lines changed: 6 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8654 | 8654 | | |
8655 | 8655 | | |
8656 | 8656 | | |
8657 | | - | |
8658 | | - | |
8659 | 8657 | | |
8660 | 8658 | | |
8661 | 8659 | | |
| |||
8665 | 8663 | | |
8666 | 8664 | | |
8667 | 8665 | | |
| 8666 | + | |
| 8667 | + | |
8668 | 8668 | | |
8669 | 8669 | | |
8670 | 8670 | | |
| |||
8674 | 8674 | | |
8675 | 8675 | | |
8676 | 8676 | | |
8677 | | - | |
8678 | | - | |
8679 | 8677 | | |
8680 | 8678 | | |
8681 | 8679 | | |
| |||
8840 | 8838 | | |
8841 | 8839 | | |
8842 | 8840 | | |
| 8841 | + | |
8843 | 8842 | | |
| 8843 | + | |
8844 | 8844 | | |
8845 | 8845 | | |
8846 | 8846 | | |
| |||
9172 | 9172 | | |
9173 | 9173 | | |
9174 | 9174 | | |
| 9175 | + | |
9175 | 9176 | | |
9176 | 9177 | | |
| 9178 | + | |
9177 | 9179 | | |
9178 | 9180 | | |
9179 | 9181 | | |
| |||
0 commit comments