Zijun Hu a2d633cb14 phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup()
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.

Fix 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@vger.kernel.org
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20241213-phy_core_fix-v6-5-40ae28f5015a@quicinc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2024-12-24 19:55:37 +05:30
..
2024-11-26 18:05:44 -08:00
2024-11-20 12:55:41 -08:00
2024-11-29 11:43:29 -08:00
2024-11-30 15:47:29 -08:00
2024-11-21 08:28:08 -08:00
2024-11-07 08:25:08 +01:00
2024-11-23 10:44:31 -08:00
2024-11-26 18:05:44 -08:00
2024-11-29 11:43:29 -08:00
2024-11-25 18:31:48 -08:00
2024-11-27 13:25:47 -08:00
2024-11-23 10:44:31 -08:00
2024-11-25 17:12:54 -08:00
2024-11-29 11:43:29 -08:00
2024-11-29 13:06:06 -08:00
2024-11-27 12:23:43 +01:00
2024-11-25 10:31:39 -08:00
2024-11-27 14:24:34 -08:00
2024-11-09 09:14:12 -08:00
2024-11-30 15:47:29 -08:00
2024-11-20 14:05:34 -08:00
2024-11-20 12:51:32 -08:00
2024-11-28 10:15:20 -08:00
2024-11-27 13:11:58 -08:00
2024-11-30 15:47:29 -08:00
2024-12-01 13:38:24 -08:00
2024-11-30 18:23:05 -08:00
2024-11-30 14:33:44 -08:00
2024-11-29 11:43:29 -08:00
2024-12-01 13:38:24 -08:00
2024-11-15 00:32:29 +11:00
2024-11-28 09:40:53 -08:00
2024-11-26 18:36:55 -08:00
2024-11-30 11:18:16 -08:00
2024-11-29 11:43:29 -08:00
2024-11-29 11:43:29 -08:00
2024-11-30 14:45:29 -08:00
2024-11-21 08:28:08 -08:00
2024-11-27 13:38:09 -08:00
2024-11-28 10:06:00 -08:00
2024-11-25 18:50:55 -08:00
2024-11-12 15:48:08 +01:00
2024-11-25 18:50:55 -08:00
2024-11-30 13:41:50 -08:00
2024-11-27 12:57:03 -08:00
2024-11-27 13:11:58 -08:00
2024-11-20 15:13:02 -08:00