[PATCH v2] RDMA/rtrs: server: Fix error handling in get_or_create_srv

Ma Ke posted 1 patch 1 month, 1 week ago
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] RDMA/rtrs: server: Fix error handling in get_or_create_srv
Posted by Ma Ke 1 month, 1 week ago
After device_initialize() is called, use put_device() to release the
device according to kernel device management rules. While direct
kfree() might work in some cases, using put_device() ensures proper
device lifecycle management.

Found by code review.

Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
---
Changes in v2:
- modified the patch according to suggestions;
- removed Cc label.
---
 drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
index ef4abdea3c2d..9ecc6343455d 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
@@ -1450,7 +1450,7 @@ static struct rtrs_srv_sess *get_or_create_srv(struct rtrs_srv_ctx *ctx,
 	kfree(srv->chunks);
 
 err_free_srv:
-	kfree(srv);
+	put_device(&srv->dev);
 	return ERR_PTR(-ENOMEM);
 }
 
-- 
2.17.1
Re: [PATCH v2] RDMA/rtrs: server: Fix error handling in get_or_create_srv
Posted by Leon Romanovsky 1 month, 1 week ago
On Mon, 10 Nov 2025 08:51:58 +0800, Ma Ke wrote:
> After device_initialize() is called, use put_device() to release the
> device according to kernel device management rules. While direct
> kfree() might work in some cases, using put_device() ensures proper
> device lifecycle management.
> 
> Found by code review.
> 
> [...]

Applied, thanks!

[1/1] RDMA/rtrs: server: Fix error handling in get_or_create_srv
      https://git.kernel.org/rdma/rdma/c/a338d6e849ab31

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>