The patch below does not apply to the 5.6-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 4518a3cc273cf82efdd36522fb1f13baad173c70 Mon Sep 17 00:00:00 2001
From: Pavel Begunkov asml.silence@gmail.com Date: Tue, 26 May 2020 20:34:02 +0300 Subject: [PATCH] io_uring: fix flush req->refs underflow
In io_uring_cancel_files(), after refcount_sub_and_test() leaves 0 req->refs, it calls io_put_req(), which would also put a ref. Call io_free_req() instead.
Cc: stable@vger.kernel.org Fixes: 2ca10259b418 ("io_uring: prune request from overflow list on flush") Signed-off-by: Pavel Begunkov asml.silence@gmail.com Signed-off-by: Jens Axboe axboe@kernel.dk
diff --git a/fs/io_uring.c b/fs/io_uring.c index 0b51f21e5432..37422fcdaa7f 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -7534,7 +7534,7 @@ static void io_uring_cancel_files(struct io_ring_ctx *ctx, * all we had, then we're done with this request. */ if (refcount_sub_and_test(2, &cancel_req->refs)) { - io_put_req(cancel_req); + io_free_req(cancel_req); finish_wait(&ctx->inflight_wait, &wait); continue; }
On 6/15/20 7:59 AM, gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 5.6-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
Greg, if you could cherry pick this one:
commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208 Author: Xiaoguang Wang xiaoguang.wang@linux.alibaba.com Date: Sun Apr 26 15:54:43 2020 +0800
io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files()
first (which should also go into stable), the below will apply without conflicts after that.
On Mon, Jun 15, 2020 at 09:18:29AM -0600, Jens Axboe wrote:
On 6/15/20 7:59 AM, gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 5.6-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
Greg, if you could cherry pick this one:
commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208 Author: Xiaoguang Wang xiaoguang.wang@linux.alibaba.com Date: Sun Apr 26 15:54:43 2020 +0800
io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files()
first (which should also go into stable), the below will apply without conflicts after that.
I've grabbed both, thanks!
On Mon, Jun 15, 2020 at 09:18:29AM -0600, Jens Axboe wrote:
On 6/15/20 7:59 AM, gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 5.6-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
Greg, if you could cherry pick this one:
commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208 Author: Xiaoguang Wang xiaoguang.wang@linux.alibaba.com Date: Sun Apr 26 15:54:43 2020 +0800
io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files()
first (which should also go into stable), the below will apply without conflicts after that.
That worked great, thanks!
greg k-h
linux-stable-mirror@lists.linaro.org