]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring: don't double complete failed reissue request
authorJens Axboe <axboe@kernel.dk>
Tue, 17 Nov 2020 14:59:16 +0000 (07:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Nov 2020 12:39:13 +0000 (13:39 +0100)
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

index 352bd3ad446bed52407e8be22f47513093edf9de..e74a56f6915c00d0fd6d59b6505aebd50048b892 100644 (file)
@@ -2359,7 +2359,6 @@ static bool io_resubmit_prep(struct io_kiocb *req, int error)
        }
 end_req:
        req_set_fail_links(req);
-       io_req_complete(req, ret);
        return false;
 }
 #endif