[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220429004244.3557063-1-goldstein.w.n@gmail.com>
Date: Thu, 28 Apr 2022 19:42:45 -0500
From: Noah Goldstein <goldstein.w.n@...il.com>
To: unlisted-recipients:; (no To-header on input)
Cc: goldstein.w.n@...il.com, axboe@...nel.dk, asml.silence@...il.com,
io-uring@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH v1] io_uring: Fix memory leak if file setup fails.
If `get_unused_fd_flags` files fails (either in setting up `ctx` as
`tctx->last` or `get_unused_fd_flags`) `ctx` will never be freed.
Signed-off-by: Noah Goldstein <goldstein.w.n@...il.com>
---
I very well may be missing something (or there may be a double
free if the failure is after `get_unused_fd_flags`) but looks
to me to be a memory leak.
fs/io_uring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/io_uring.c b/fs/io_uring.c
index a3b76e63f9da..9685a7be48e3 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -11863,7 +11863,7 @@ static __cold int io_uring_create(unsigned entries, struct io_uring_params *p,
if (ret < 0) {
/* fput will clean it up */
fput(file);
- return ret;
+ goto err;
}
trace_io_uring_create(ret, ctx, p->sq_entries, p->cq_entries, p->flags);
--
2.25.1
Powered by blists - more mailing lists