RDMA/cma: Fix error flow in default_roce_mode_store

[ Upstream commit 7c7b3e5d9aeed31d35c5dab0bf9c0fd4c8923206 ]

In default_roce_mode_store(), we took a reference to cma_dev, but didn't
return it with cma_dev_put in the error flow.

Fixes: 1c15b4f2a4 ("RDMA/core: Modify enum ib_gid_type and enum rdma_network_type")
Link: https://lore.kernel.org/r/20210113130214.562108-1-leon@kernel.org
Signed-off-by: Neta Ostrovsky <netao@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Neta Ostrovsky 2021-01-13 15:02:14 +02:00 committed by Greg Kroah-Hartman
parent 56c1362981
commit 2cd90971a2

View File

@ -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);