Skip to contentSkip to conversation

RDMA/cma: Fix error flow in default_roce_mode_store

PATCH Applied Leon Romanovsky 2 participants 2 messages Jan 13, 2021 – Jan 14, 2021 InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 RDMA/cma: Fix error flow in default_roce_mode_store

From: Neta Ostrovsky <[email protected]>

In default_roce_mode_store(), we took a reference to cma_dev, but didn't return it in error flow. Fix it by calling to cma_dev_put in such flow.

Fixes 1c15b4f2a42f ("RDMA/core: Modify enum ib_gid_type and enum rdma_network_type")
---
 drivers/infiniband/core/cma_configfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/infiniband/core/cma_configfs.c +3 -1
index 9fa1653fb7b7..e0d5e3bae458 100644
@@ -131,8 +131,10 @@ static ssize_t default_roce_mode_store(struct config_item *item,
 		return ret;
 
 	gid_type = ib_cache_gid_parse_type_str(buf);
-	if (gid_type < 0)
+	if (gid_type < 0) {
+		cma_configfs_params_put(cma_dev);
 		return -EINVAL;
+	}
 
 	ret = cma_set_default_gid_type(cma_dev, group->port_num, gid_type);
 
Signature · 1 line
2.29.2
maintainer Applied
#1 lore raw
Quoted 6 lines · Leon Romanovsky

From: Neta Ostrovsky <[email protected]>

In default_roce_mode_store(), we took a reference to cma_dev, but didn't return it in error flow. Fix it by calling to cma_dev_put in such flow.

Quoted 6 lines
Fixes 1c15b4f2a42f ("RDMA/core: Modify enum ib_gid_type and enum rdma_network_type")
---
 drivers/infiniband/core/cma_configfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Applied to for-rc

Thanks,
Jason