diff mbox series

io_uring: pass correct parameters to io_req_set_res

Message ID 20220803110938.1564772-1-ming.lei@redhat.com (mailing list archive)
State New
Headers show
Series io_uring: pass correct parameters to io_req_set_res | expand

Commit Message

Ming Lei Aug. 3, 2022, 11:09 a.m. UTC
The two parameters of 'res' and 'cflags' are swapped, so fix it.
Without this fix, 'ublk del' hangs forever.

Cc: Pavel Begunkov <asml.silence@gmail.com>
Fixes: 27a9d66fec77 ("io_uring: kill extra io_uring_types.h includes")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
---
 io_uring/uring_cmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Pavel Begunkov Aug. 3, 2022, 11:40 a.m. UTC | #1
On 8/3/22 12:09, Ming Lei wrote:
> The two parameters of 'res' and 'cflags' are swapped, so fix it.
> Without this fix, 'ublk del' hangs forever.

Looks good, but the "Fixes" tag is not right

Fixes: de23077eda61f ("io_uring: set completion results upfront")


> Cc: Pavel Begunkov <asml.silence@gmail.com>
> Fixes: 27a9d66fec77 ("io_uring: kill extra io_uring_types.h includes")
> Signed-off-by: Ming Lei <ming.lei@redhat.com>
> ---
>   io_uring/uring_cmd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/io_uring/uring_cmd.c b/io_uring/uring_cmd.c
> index 0a421ed51e7e..849d9708d612 100644
> --- a/io_uring/uring_cmd.c
> +++ b/io_uring/uring_cmd.c
> @@ -46,7 +46,7 @@ void io_uring_cmd_done(struct io_uring_cmd *ioucmd, ssize_t ret, ssize_t res2)
>   	if (ret < 0)
>   		req_set_fail(req);
>   
> -	io_req_set_res(req, 0, ret);
> +	io_req_set_res(req, ret, 0);
>   	if (req->ctx->flags & IORING_SETUP_CQE32)
>   		io_req_set_cqe32_extra(req, res2, 0);
>   	__io_req_complete(req, 0);
Ming Lei Aug. 3, 2022, 11:59 a.m. UTC | #2
On Wed, Aug 03, 2022 at 12:40:17PM +0100, Pavel Begunkov wrote:
> On 8/3/22 12:09, Ming Lei wrote:
> > The two parameters of 'res' and 'cflags' are swapped, so fix it.
> > Without this fix, 'ublk del' hangs forever.
> 
> Looks good, but the "Fixes" tag is not right
> 
> Fixes: de23077eda61f ("io_uring: set completion results upfront")

Indeed, the issue is firstly added in above commit.


Thanks,
Ming
diff mbox series

Patch

diff --git a/io_uring/uring_cmd.c b/io_uring/uring_cmd.c
index 0a421ed51e7e..849d9708d612 100644
--- a/io_uring/uring_cmd.c
+++ b/io_uring/uring_cmd.c
@@ -46,7 +46,7 @@  void io_uring_cmd_done(struct io_uring_cmd *ioucmd, ssize_t ret, ssize_t res2)
 	if (ret < 0)
 		req_set_fail(req);
 
-	io_req_set_res(req, 0, ret);
+	io_req_set_res(req, ret, 0);
 	if (req->ctx->flags & IORING_SETUP_CQE32)
 		io_req_set_cqe32_extra(req, res2, 0);
 	__io_req_complete(req, 0);