diff options
author | Miaoqian Lin <linmq006@gmail.com> | 2022-06-05 10:00:38 +0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2022-11-24 23:12:19 +1100 |
commit | 1d09697ff22908ae487fc8c4fbde1811732be523 (patch) | |
tree | f29727f402ee8dec0bb3fd729dab633a2e958d4c /drivers/misc | |
parent | 37195edebf479b94f1e20c2a83a29e4beebe7ff5 (diff) | |
download | linux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.tar.gz linux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.tar.bz2 linux-starfive-1d09697ff22908ae487fc8c4fbde1811732be523.zip |
cxl: Fix refcount leak in cxl_calc_capp_routing
of_get_next_parent() returns a node pointer with refcount incremented,
we should use of_node_put() on it when not need anymore.
This function only calls of_node_put() in normal path,
missing it in the error path.
Add missing of_node_put() to avoid refcount leak.
Fixes: f24be42aab37 ("cxl: Add psl9 specific code")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Acked-by: Andrew Donnellan <ajd@linux.ibm.com>
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220605060038.62217-1-linmq006@gmail.com
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/cxl/pci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c index 3de0aea62ade..62385a529d86 100644 --- a/drivers/misc/cxl/pci.c +++ b/drivers/misc/cxl/pci.c @@ -387,6 +387,7 @@ int cxl_calc_capp_routing(struct pci_dev *dev, u64 *chipid, rc = get_phb_index(np, phb_index); if (rc) { pr_err("cxl: invalid phb index\n"); + of_node_put(np); return rc; } |