[PATCH 5.9 239/252] io_uring: dont double complete failed reissue request

Greg Kroah-Hartman
2020-11-23T12:59:02Z

From: Jens Axboe <axboe@kernel.dk>

commit c993df5a688975bf9ce899706ca13d2bc8d6be25 upstream.

Zorro reports that an xfstest test case is failing, and it turns out that
for the reissue path we can potentially issue a double completion on the
request for the failure path. There's an issue around the retry as well,
but for now, at least just make sure that we handle the error path
correctly.

Cc: stable@vger.kernel.org
Fixes: b63534c41e20 ("io_uring: re-issue block requests that failed because of resources")
Reported-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
fs/io_uring.c | 1 -
1 file changed, 1 deletion(-)

--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2359,7 +2359,6 @@ static bool io_resubmit_prep(struct io_k
}
end_req:
req_set_fail_links(req);
- io_req_complete(req, ret);
return false;
}
#endif