[PATCH v2 5/6] phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup()
Johan Hovold
johan at kernel.org
Tue Oct 29 06:48:23 PDT 2024
On Thu, Oct 24, 2024 at 10:39:30PM +0800, Zijun Hu wrote:
> From: Zijun Hu <quic_zijuhu at quicinc.com>
>
> For macro for_each_child_of_node(parent, child), refcount of @child has
> been increased before entering its loop body, so normally needs to call
> of_node_put(@child) before returning from the loop body to avoid refcount
> leakage.
>
> of_phy_provider_lookup() has such usage but does not call of_node_put()
> before returning, so cause leakage of the OF node refcount.
>
> Fixed by simply calling of_node_put() before returning from the loop body.
>
> The APIs affected by this issue are shown below since they indirectly
> invoke problematic of_phy_provider_lookup().
> phy_get()
> of_phy_get()
> devm_phy_get()
> devm_of_phy_get()
> devm_of_phy_get_by_index()
>
> Fixes: 2a4c37016ca9 ("phy: core: Fix of_phy_provider_lookup to return PHY provider for sub node")
> Cc: stable at vger.kernel.org
> Signed-off-by: Zijun Hu <quic_zijuhu at quicinc.com>
Looks good.
Reviewed-by: Johan Hovold <johan+linaro at kernel.org>
More information about the linux-phy
mailing list