Skip to contentSkip to conversation

FAILED: patch "[PATCH] io_uring: fix flush req->refs underflow" failed to apply to 5.6-stable tree

PATCH [email protected] 3 participants 4 messages Jun 15, 2020

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

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 <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 4518a3cc273cf82efdd36522fb1f13baad173c70 Mon Sep 17 00:00:00 2001
From: Pavel Begunkov <[email protected]>
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.

Fixes 2ca10259b418 ("io_uring: prune request from overflow list on flush")
fs/io_uring.c +1 -1
index 0b51f21e5432..37422fcdaa7f 100644
@@ -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;
 			}
#1 lore raw
Quoted 5 lines · On 6/15/20 7:59 AM, [email protected] 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 <[email protected]>.

Greg, if you could cherry pick this one:

commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208

Author: Xiaoguang Wang <[email protected]>
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.

Signature · 1 line
Jens Axboe
maintainer
#2 lore raw
Quoted 9 lines · Jens Axboe
Quoted 5 lines · On 6/15/20 7:59 AM, [email protected] 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 <[email protected]>.

Greg, if you could cherry pick this one:

Quoted 8 lines

commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208

Author: Xiaoguang Wang <[email protected]>
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!

Signature · 2 lines
Thanks,
Sasha
author maintainer
#3 lore raw
In reply to Jens Axboe
Quoted 9 lines · Jens Axboe
Quoted 5 lines · On 6/15/20 7:59 AM, [email protected] 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 <[email protected]>.

Greg, if you could cherry pick this one:

Quoted 8 lines

commit d8f1b9716cfd1a1f74c0fedad40c5f65a25aa208

Author: Xiaoguang Wang <[email protected]>
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