]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/rtrs: server: Fix error handling in get_or_create_srv
authorMa Ke <make24@iscas.ac.cn>
Mon, 10 Nov 2025 00:51:58 +0000 (08:51 +0800)
committerLeon Romanovsky <leon@kernel.org>
Mon, 10 Nov 2025 08:09:41 +0000 (03:09 -0500)
After device_initialize() is called, use put_device() to release the
device according to kernel device management rules. While direct
kfree() work in this case, using put_device() is more correct.

Found by code review.

Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Link: https://patch.msgid.link/20251110005158.13394-1-make24@iscas.ac.cn
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/rtrs/rtrs-srv.c

index ef4abdea3c2d2e80a3706767f1d9455c3fb06aba..9ecc6343455d6c4f46d1daf8d8979564c1ed93cb 100644 (file)
@@ -1450,7 +1450,7 @@ err_free_chunks:
        kfree(srv->chunks);
 
 err_free_srv:
-       kfree(srv);
+       put_device(&srv->dev);
        return ERR_PTR(-ENOMEM);
 }