]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net: dsa: microchip: lan937x: fix reference count leak in lan937x_mdio_register()
authorSun Ke <sunke32@huawei.com>
Thu, 8 Sep 2022 04:02:26 +0000 (12:02 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 19 Sep 2022 21:17:59 +0000 (14:17 -0700)
This node pointer is returned by of_find_compatible_node() with
refcount incremented in this function. of_node_put() on it before
exitting this function.

Fixes: c9cd961c0d43 ("net: dsa: microchip: lan937x: add interrupt support for port phy link")
Signed-off-by: Sun Ke <sunke32@huawei.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20220908040226.871690-1-sunke32@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/microchip/lan937x_main.c

index 9b6760b1e572300a15345ef48f0332085eda994e..3e83f8ca0f09a8859200ea5c8e7e35bd0cbbf8f0 100644 (file)
@@ -238,8 +238,10 @@ static int lan937x_mdio_register(struct ksz_device *dev)
        ds->slave_mii_bus = bus;
 
        ret = lan937x_irq_phy_setup(dev);
-       if (ret)
+       if (ret) {
+               of_node_put(mdio_np);
                return ret;
+       }
 
        ret = devm_of_mdiobus_register(ds->dev, bus, mdio_np);
        if (ret) {