[PATCH] io_uring: fix resource leak in io_import_dmabuf()

Penglei Jiang posted 1 patch 3 months, 2 weeks ago
io_uring/zcrx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH] io_uring: fix resource leak in io_import_dmabuf()
Posted by Penglei Jiang 3 months, 2 weeks ago
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 <superman.xpt@gmail.com>
---
 io_uring/zcrx.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 797247a34cb7..085eeed8cd50 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;
-- 
2.17.1
Re: [PATCH] io_uring: fix resource leak in io_import_dmabuf()
Posted by Jens Axboe 3 months, 2 weeks ago
On Wed, 25 Jun 2025 03:27:03 -0700, Penglei Jiang wrote:
> Replace the return statement with setting ret = -EINVAL and jumping to
> the err label to ensure resources are released via io_release_dmabuf.
> 
> 

Applied, thanks!

[1/1] io_uring: fix resource leak in io_import_dmabuf()
      commit: 7cac633a42a7b3c8146eb1db76fb80dc652998de

Best regards,
-- 
Jens Axboe