diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-12-13 15:08:55 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-12-13 15:08:55 -0800 |
commit | 2a816e4f6a407cfbd7a8345a0c09473eff656139 (patch) | |
tree | 654ed7943656d06754b3d19bc05b5b1db8a5924e | |
parent | 1c021e7908cc6683a1fcbd26eb02bc8c7c880da0 (diff) | |
parent | 99d6af6e8a22b792e1845b186f943cd10bb4b7b0 (diff) |
Merge tag 'io_uring-6.13-20241213' of git://git.kernel.dk/linux
Pull io_uring fix from Jens Axboe:
"A single fix for a regression introduced in the 6.13 merge window"
* tag 'io_uring-6.13-20241213' of git://git.kernel.dk/linux:
io_uring/rsrc: don't put/free empty buffers
-rw-r--r-- | io_uring/rsrc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c index adaae8630932..077f84684c18 100644 --- a/io_uring/rsrc.c +++ b/io_uring/rsrc.c @@ -1036,8 +1036,10 @@ static int io_clone_buffers(struct io_ring_ctx *ctx, struct io_ring_ctx *src_ctx out_put_free: i = data.nr; while (i--) { - io_buffer_unmap(src_ctx, data.nodes[i]); - kfree(data.nodes[i]); + if (data.nodes[i]) { + io_buffer_unmap(src_ctx, data.nodes[i]); + kfree(data.nodes[i]); + } } out_unlock: io_rsrc_data_free(ctx, &data); |