Commit dc11632
io_uring: return back safer resurrect
commit f70865d upstream.
Revert of revert of "io_uring: wait potential ->release() on resurrect",
which adds a helper for resurrect not racing completion reinit, as was
removed because of a strange bug with no clear root or link to the
patch.
Was improved, instead of rcu_synchronize(), just wait_for_completion()
because we're at 0 refs and it will happen very shortly. Specifically
use non-interruptible version to ignore all pending signals that may
have ended prior interruptible wait.
This reverts commit cb5e1b8.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/7a080c20f686d026efade810b116b72f88abaff9.1618101759.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 8fdaab3 commit dc11632
1 file changed
Lines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1009 | 1009 | | |
1010 | 1010 | | |
1011 | 1011 | | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
1012 | 1024 | | |
1013 | 1025 | | |
1014 | 1026 | | |
| |||
9757 | 9769 | | |
9758 | 9770 | | |
9759 | 9771 | | |
9760 | | - | |
9761 | 9772 | | |
9762 | 9773 | | |
9763 | 9774 | | |
9764 | | - | |
9765 | | - | |
| 9775 | + | |
| 9776 | + | |
9766 | 9777 | | |
9767 | 9778 | | |
9768 | 9779 | | |
| |||
9855 | 9866 | | |
9856 | 9867 | | |
9857 | 9868 | | |
9858 | | - | |
9859 | 9869 | | |
9860 | 9870 | | |
9861 | 9871 | | |
| |||
0 commit comments