RDMA/hfi: Decrease PCI device reference count in error path

[ Upstream commit 9b51d072da1d27e1193e84708201c48e385ad912 ]

pci_get_device() will increase the reference count for the returned
pci_dev, and also decrease the reference count for the input parameter
*from* if it is not NULL.

If we break out the loop in node_affinity_init() with 'dev' not NULL, we
need to call pci_dev_put() to decrease the reference count. Add missing
pci_dev_put() in error path.

Fixes: c513de490f ("IB/hfi1: Invalid NUMA node information can cause a divide by zero")
Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Link: https://lore.kernel.org/r/20221117131546.113280-1-wangxiongfeng2@huawei.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Xiongfeng Wang 2022-11-17 21:15:46 +08:00 committed by Greg Kroah-Hartman
parent 7e68c0d095
commit 895bbed5ae

View File

@ -218,6 +218,8 @@ out:
for (node = 0; node < node_affinity.num_possible_nodes; node++) for (node = 0; node < node_affinity.num_possible_nodes; node++)
hfi1_per_node_cntr[node] = 1; hfi1_per_node_cntr[node] = 1;
pci_dev_put(dev);
return 0; return 0;
} }