io_uring/rsrc: call io_free_node() on io_sqe_buffer_register() failure
authorCaleb Sander Mateos <csander@purestorage.com>
Fri, 28 Feb 2025 23:59:12 +0000 (16:59 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 4 Mar 2025 14:17:15 +0000 (07:17 -0700)
commit13f7f9686e928dae352972a1a95b50b2d5e80d42
tree4c98a4d5a5d53efa261974bfb3aa3cdd185e575b
parenta387b96d2a9687201318826d23c770eb794c778e
io_uring/rsrc: call io_free_node() on io_sqe_buffer_register() failure

io_sqe_buffer_register() currently calls io_put_rsrc_node() if it fails
to fully set up the io_rsrc_node. io_put_rsrc_node() is more involved
than necessary, since we already know the reference count will reach 0
and no io_mapped_ubuf has been attached to the node yet.

So just call io_free_node() to release the node's memory. This also
avoids the need to temporarily set the node's buf pointer to NULL.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Link: https://lore.kernel.org/r/20250228235916.670437-3-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/rsrc.c