net: hns: Fix memleak in hns_nic_dev_probe
[ Upstream commit5.4-rM2-2.2.x-imx-squashed100e3345c6
] hns_nic_dev_probe allocates ndev, but not free it on two error handling paths, which may lead to memleak. Fixes:63434888aa
("net: hns: net: hns: enet adds support of acpi") Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
parent
210b889fd8
commit
a49c0aebf9
|
@ -2296,8 +2296,10 @@ static int hns_nic_dev_probe(struct platform_device *pdev)
|
||||||
priv->enet_ver = AE_VERSION_1;
|
priv->enet_ver = AE_VERSION_1;
|
||||||
else if (acpi_dev_found(hns_enet_acpi_match[1].id))
|
else if (acpi_dev_found(hns_enet_acpi_match[1].id))
|
||||||
priv->enet_ver = AE_VERSION_2;
|
priv->enet_ver = AE_VERSION_2;
|
||||||
else
|
else {
|
||||||
return -ENXIO;
|
ret = -ENXIO;
|
||||||
|
goto out_read_prop_fail;
|
||||||
|
}
|
||||||
|
|
||||||
/* try to find port-idx-in-ae first */
|
/* try to find port-idx-in-ae first */
|
||||||
ret = acpi_node_get_property_reference(dev->fwnode,
|
ret = acpi_node_get_property_reference(dev->fwnode,
|
||||||
|
@ -2313,7 +2315,8 @@ static int hns_nic_dev_probe(struct platform_device *pdev)
|
||||||
priv->fwnode = args.fwnode;
|
priv->fwnode = args.fwnode;
|
||||||
} else {
|
} else {
|
||||||
dev_err(dev, "cannot read cfg data from OF or acpi\n");
|
dev_err(dev, "cannot read cfg data from OF or acpi\n");
|
||||||
return -ENXIO;
|
ret = -ENXIO;
|
||||||
|
goto out_read_prop_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = device_property_read_u32(dev, "port-idx-in-ae", &port_id);
|
ret = device_property_read_u32(dev, "port-idx-in-ae", &port_id);
|
||||||
|
|
Loading…
Reference in New Issue