public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RDMA/rtrs: server: Fix error handling in get_or_create_srv
@ 2025-11-04  2:19 Ma Ke
  2025-11-04  6:34 ` Jinpu Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ma Ke @ 2025-11-04  2:19 UTC (permalink / raw)
  To: haris.iqbal, jinpu.wang, jgg, leon, danil.kipnis
  Cc: linux-rdma, linux-kernel, akpm, Ma Ke, stable

get_or_create_srv() fails to call put_device() after
device_initialize() when memory allocation fails. This could cause
reference count leaks during error handling, preventing proper device
cleanup and resulting in memory leaks.

Found by code review.

Cc: stable@vger.kernel.org
Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
---
 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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-11-05 14:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-04  2:19 [PATCH] RDMA/rtrs: server: Fix error handling in get_or_create_srv Ma Ke
2025-11-04  6:34 ` Jinpu Wang
2025-11-04 14:55 ` Markus Elfring
2025-11-05 12:57 ` Leon Romanovsky
2025-11-05 13:46   ` Jason Gunthorpe
2025-11-05 14:51     ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox