Re: [PATCH] stmmac_dt_phy: null check the allocation

From: David Miller
Date: Thu Jul 25 2019 - 14:52:59 EST


From: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
Date: Tue, 23 Jul 2019 17:28:09 -0500

> @@ -342,10 +342,13 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
> mdio = true;
> }
>
> - if (mdio)
> + if (mdio) {
> plat->mdio_bus_data =
> devm_kzalloc(dev, sizeof(struct stmmac_mdio_bus_data),
> GFP_KERNEL);
> + if (!plat->mdio_bus_data)
> + return -ENOMEM;

This leaks a reference to plat->mdio_node() which is acquired in the
for_each_child_of_node() loop right before the context here.

This is what I really fear about these automated patches, it is quite
often the case that acquired resources are subtly acquired in nearby
code and not released by the proposed "fix".

Therefore, either we end up with a regression, or as is the case here
a reviewer invests more time into double checking your patch than you
put into writing the patch in the first place.