From: Penglei Jiang Date: Wed, 25 Jun 2025 10:27:03 +0000 (-0700) Subject: io_uring: fix resource leak in io_import_dmabuf() X-Git-Tag: v6.16-rc4~19^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7cac633a42a7b3c8146eb1db76fb80dc652998de;p=thirdparty%2Flinux.git io_uring: fix resource leak in io_import_dmabuf() Replace the return statement with setting ret = -EINVAL and jumping to the err label to ensure resources are released via io_release_dmabuf. Fixes: a5c98e942457 ("io_uring/zcrx: dmabuf backed zerocopy receive") Signed-off-by: Penglei Jiang Link: https://lore.kernel.org/r/20250625102703.68336-1-superman.xpt@gmail.com Signed-off-by: Jens Axboe --- diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c index 21c816c3bfe07..ade4da9c4e313 100644 --- a/io_uring/zcrx.c +++ b/io_uring/zcrx.c @@ -106,8 +106,10 @@ static int io_import_dmabuf(struct io_zcrx_ifq *ifq, for_each_sgtable_dma_sg(mem->sgt, sg, i) total_size += sg_dma_len(sg); - if (total_size < off + len) - return -EINVAL; + if (total_size < off + len) { + ret = -EINVAL; + goto err; + } mem->dmabuf_offset = off; mem->size = len;