[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251104021900.11896-1-make24@iscas.ac.cn>
Date: Tue, 4 Nov 2025 10:19:00 +0800
From: Ma Ke <make24@...as.ac.cn>
To: haris.iqbal@...os.com,
jinpu.wang@...os.com,
jgg@...pe.ca,
leon@...nel.org,
danil.kipnis@...ud.ionos.com
Cc: linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org,
Ma Ke <make24@...as.ac.cn>,
stable@...r.kernel.org
Subject: [PATCH] RDMA/rtrs: server: Fix error handling in get_or_create_srv
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@...r.kernel.org
Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Ma Ke <make24@...as.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
Powered by blists - more mailing lists