Stable Team,
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 cb5e1b81304e089ee3ca948db4d29f71902eb575.
Signed-off-by: Pavel Begunkov asml.silence@gmail.com
fs/io_uring.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
Please back-port this as far as it will apply.
Definitely through v5.10.y.
It solves a critical bug.
Subject: "io_uring: return back safer resurrect"
Upstream commit:: f70865db5ff35f5ed0c7e9ef63e7cca3d4947f04
On Wed, Mar 16, 2022 at 04:18:16PM +0000, Lee Jones wrote:
Stable Team,
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 cb5e1b81304e089ee3ca948db4d29f71902eb575.
Signed-off-by: Pavel Begunkov asml.silence@gmail.com
fs/io_uring.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
Please back-port this as far as it will apply.
Definitely through v5.10.y.
It solves a critical bug.
Subject: "io_uring: return back safer resurrect"
Upstream commit:: f70865db5ff35f5ed0c7e9ef63e7cca3d4947f04
It only applies to 5.10.y. It showed up in 5.12, so if you want it further back than 5.10.y, can you provide a working backport?
thanks,
greg k-h
On Wed, 16 Mar 2022, Greg KH wrote:
On Wed, Mar 16, 2022 at 04:18:16PM +0000, Lee Jones wrote:
Stable Team,
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 cb5e1b81304e089ee3ca948db4d29f71902eb575.
Signed-off-by: Pavel Begunkov asml.silence@gmail.com
fs/io_uring.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
Please back-port this as far as it will apply.
Definitely through v5.10.y.
It solves a critical bug.
Subject: "io_uring: return back safer resurrect"
Upstream commit:: f70865db5ff35f5ed0c7e9ef63e7cca3d4947f04
It only applies to 5.10.y. It showed up in 5.12, so if you want it further back than 5.10.y, can you provide a working backport?
Works for me, thanks.
linux-stable-mirror@lists.linaro.org