[PATCH v4 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider
Johan Hovold
johan at kernel.org
Tue Nov 5 09:15:04 PST 2024
On Sat, Nov 02, 2024 at 11:53:44AM +0800, Zijun Hu wrote:
> From: Zijun Hu <quic_zijuhu at quicinc.com>
>
> For devm_of_phy_provider_unregister(), its comment says it needs to invoke
> of_phy_provider_unregister() to unregister the phy provider, but it will
> not actually invoke the function since devres_destroy() does not call
> devm_phy_provider_release(), and the missing of_phy_provider_unregister()
> call will case:
>
> - The phy provider fails to be unregistered.
> - Leak both memory and the OF node refcount.
>
> Fortunately, the faulty API has not been used by current kernel tree.
> Fixed by using devres_release() instead of devres_destroy() within the API.
>
> Fixes: ff764963479a ("drivers: phy: add generic PHY framework")
> Cc: stable at vger.kernel.org
> Signed-off-by: Zijun Hu <quic_zijuhu at quicinc.com>
Reviewed-by: Johan Hovold <johan+linaro at kernel.org>
More information about the linux-phy
mailing list