mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API
@ 2024-12-13 12:36 Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 1/6] phy: core: Fix that API devm_phy_put() fails to release the phy Zijun Hu
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold, Simon Horman

This patch series is to fix bugs for below APIs:

devm_phy_put()
devm_of_phy_provider_unregister()
devm_phy_destroy()
phy_get()
of_phy_get()
devm_phy_get()
devm_of_phy_get()
devm_of_phy_get_by_index()

And simplify below API:

of_phy_simple_xlate().

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
---
Changes in v6:
- Use non-error path solution for patch 6/6.
- Remove stable tag for both patch 2/6 and 3/6.
- Link to v5: https://lore.kernel.org/r/20241106-phy_core_fix-v5-0-9771652eb88c@quicinc.com

Changes in v5:
- s/Fixed/Fix s/case/cause for commit message based on Johan's reminder
- Remove unrelated change about code style for patch 4/6 suggested by Johan
- Link to v4: https://lore.kernel.org/r/20241102-phy_core_fix-v4-0-4f06439f61b1@quicinc.com

Changes in v4:
- Correct commit message for patch 6/6
- Link to v3: https://lore.kernel.org/r/20241030-phy_core_fix-v3-0-19b97c3ec917@quicinc.com

Changes in v3:
- Correct commit message based on Johan's suggestions for patches 1/6-3/6.
- Use goto label solution suggested by Johan for patch 4/6, also correct
  commit message and remove the inline comment for it.
- Link to v2: https://lore.kernel.org/r/20241024-phy_core_fix-v2-0-fc0c63dbfcf3@quicinc.com

Changes in v2:
- Correct title, commit message, and inline comments.
- Link to v1: https://lore.kernel.org/r/20241020-phy_core_fix-v1-0-078062f7da71@quicinc.com

---
Zijun Hu (6):
      phy: core: Fix that API devm_phy_put() fails to release the phy
      phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider
      phy: core: Fix that API devm_phy_destroy() fails to destroy the phy
      phy: core: Fix an OF node refcount leakage in _of_phy_get()
      phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup()
      phy: core: Simplify API of_phy_simple_xlate() implementation

 drivers/phy/phy-core.c | 44 +++++++++++++++++++++-----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)
---
base-commit: 9d23e48654620fdccfcc74cc2cef04eaf7353d07
change-id: 20241020-phy_core_fix-e3ad65db98f7

Best regards,
-- 
Zijun Hu <quic_zijuhu@quicinc.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 1/6] phy: core: Fix that API devm_phy_put() fails to release the phy
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider Zijun Hu
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold

From: Zijun Hu <quic_zijuhu@quicinc.com>

For devm_phy_put(), its comment says it needs to invoke phy_put() to
release the phy, but it will not actually invoke the function since
devres_destroy() does not call devm_phy_release(), and the missing
phy_put() call will cause:

- The phy fails to be released.
- devm_phy_put() can not fully undo what API devm_phy_get() does.
- Leak refcount of both the module and device for below typical usage:

  devm_phy_get(); // or its variant
  ...
  err = do_something();
  if (err)
      goto err_out;
  ...
  err_out:
  devm_phy_put(); // leak refcount here

  The file(s) affected by this issue are shown below since they have such
  typical usage.
  drivers/pci/controller/cadence/pcie-cadence.c
  drivers/net/ethernet/ti/am65-cpsw-nuss.c

Fix by using devres_release() instead of devres_destroy() within the API.

Fixes: ff764963479a ("drivers: phy: add generic PHY framework")
Cc: stable@vger.kernel.org
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Krzysztof Wilczyński <kw@linux.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
---
 drivers/phy/phy-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index f053b525ccffab1629f5e09581a6ebcc35e47f79..f190d7126613ad253b4820b9e4167dda8623439d 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -737,7 +737,7 @@ void devm_phy_put(struct device *dev, struct phy *phy)
 	if (!phy)
 		return;
 
-	r = devres_destroy(dev, devm_phy_release, devm_phy_match, phy);
+	r = devres_release(dev, devm_phy_release, devm_phy_match, phy);
 	dev_WARN_ONCE(dev, r, "couldn't find PHY resource\n");
 }
 EXPORT_SYMBOL_GPL(devm_phy_put);

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 1/6] phy: core: Fix that API devm_phy_put() fails to release the phy Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 3/6] phy: core: Fix that API devm_phy_destroy() fails to destroy the phy Zijun Hu
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold

From: Zijun Hu <quic_zijuhu@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 cause:

- 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.
Fix by using devres_release() instead of devres_destroy() within the API.

Fixes: ff764963479a ("drivers: phy: add generic PHY framework")
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
---
Why to fix the API here instead of directly deleting it?

1) it is simpler, just one line change.
2) it may be used in future.
3) ensure this restored API right if need to restore it in future
   after deleting.

Anyone may remove such APIs separately later if he/she cares.
---
 drivers/phy/phy-core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index f190d7126613ad253b4820b9e4167dda8623439d..de07e1616b34d12056024558124f3ea2469c0323 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -1259,12 +1259,12 @@ EXPORT_SYMBOL_GPL(of_phy_provider_unregister);
  * of_phy_provider_unregister to unregister the phy provider.
  */
 void devm_of_phy_provider_unregister(struct device *dev,
-	struct phy_provider *phy_provider)
+				     struct phy_provider *phy_provider)
 {
 	int r;
 
-	r = devres_destroy(dev, devm_phy_provider_release, devm_phy_match,
-		phy_provider);
+	r = devres_release(dev, devm_phy_provider_release, devm_phy_match,
+			   phy_provider);
 	dev_WARN_ONCE(dev, r, "couldn't find PHY provider device resource\n");
 }
 EXPORT_SYMBOL_GPL(devm_of_phy_provider_unregister);

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 3/6] phy: core: Fix that API devm_phy_destroy() fails to destroy the phy
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 1/6] phy: core: Fix that API devm_phy_put() fails to release the phy Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 4/6] phy: core: Fix an OF node refcount leakage in _of_phy_get() Zijun Hu
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold

From: Zijun Hu <quic_zijuhu@quicinc.com>

For devm_phy_destroy(), its comment says it needs to invoke phy_destroy()
to destroy the phy, but it will not actually invoke the function since
devres_destroy() does not call devm_phy_consume(), and the missing
phy_destroy() call will cause that the phy fails to be destroyed.

Fortunately, the faulty API has not been used by current kernel tree.
Fix by using devres_release() instead of devres_destroy() within the API.

Fixes: ff764963479a ("drivers: phy: add generic PHY framework")
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
---
Why to fix the API here instead of directly deleting it?

1) it is simpler, just one line change.
2) it may be used in future.
3) ensure this restored API right if need to restore it in future
   after deleting.

Anyone may remove such APIs separately later if he/she cares.
---
 drivers/phy/phy-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index de07e1616b34d12056024558124f3ea2469c0323..52ca590a58b9c303b21bf892565612a7ab92c095 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -1121,7 +1121,7 @@ void devm_phy_destroy(struct device *dev, struct phy *phy)
 {
 	int r;
 
-	r = devres_destroy(dev, devm_phy_consume, devm_phy_match, phy);
+	r = devres_release(dev, devm_phy_consume, devm_phy_match, phy);
 	dev_WARN_ONCE(dev, r, "couldn't find PHY resource\n");
 }
 EXPORT_SYMBOL_GPL(devm_phy_destroy);

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 4/6] phy: core: Fix an OF node refcount leakage in _of_phy_get()
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
                   ` (2 preceding siblings ...)
  2024-12-13 12:36 ` [PATCH v6 3/6] phy: core: Fix that API devm_phy_destroy() fails to destroy the phy Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 5/6] phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup() Zijun Hu
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold

From: Zijun Hu <quic_zijuhu@quicinc.com>

_of_phy_get() will directly return when suffers of_device_is_compatible()
error, but it forgets to decrease refcount of OF node @args.np before error
return, the refcount was increased by previous of_parse_phandle_with_args()
so causes the OF node's refcount leakage.

Fix by decreasing the refcount via of_node_put() before the error return.

Fixes: b7563e2796f8 ("phy: work around 'phys' references to usb-nop-xceiv devices")
Cc: stable@vger.kernel.org
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
---
 drivers/phy/phy-core.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index 52ca590a58b9c303b21bf892565612a7ab92c095..b88fbda6c046174b7abd0a0435ec54763e9f42bc 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -629,8 +629,10 @@ static struct phy *_of_phy_get(struct device_node *np, int index)
 		return ERR_PTR(-ENODEV);
 
 	/* This phy type handled by the usb-phy subsystem for now */
-	if (of_device_is_compatible(args.np, "usb-nop-xceiv"))
-		return ERR_PTR(-ENODEV);
+	if (of_device_is_compatible(args.np, "usb-nop-xceiv")) {
+		phy = ERR_PTR(-ENODEV);
+		goto out_put_node;
+	}
 
 	mutex_lock(&phy_provider_mutex);
 	phy_provider = of_phy_provider_lookup(args.np);
@@ -652,6 +654,7 @@ static struct phy *_of_phy_get(struct device_node *np, int index)
 
 out_unlock:
 	mutex_unlock(&phy_provider_mutex);
+out_put_node:
 	of_node_put(args.np);
 
 	return phy;

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 5/6] phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup()
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
                   ` (3 preceding siblings ...)
  2024-12-13 12:36 ` [PATCH v6 4/6] phy: core: Fix an OF node refcount leakage in _of_phy_get() Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-13 12:36 ` [PATCH v6 6/6] phy: core: Simplify API of_phy_simple_xlate() implementation Zijun Hu
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Johan Hovold

From: Zijun Hu <quic_zijuhu@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.

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>
---
The following kernel mainline commit fixes a similar issue:
Commit: b337cc3ce475 ("backlight: lm3509_bl: Fix early returns in for_each_child_of_node()")
---
 drivers/phy/phy-core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index b88fbda6c046174b7abd0a0435ec54763e9f42bc..413f76e2d1744dd8ffb63a6c3a093f5c6cbead7b 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -145,8 +145,10 @@ static struct phy_provider *of_phy_provider_lookup(struct device_node *node)
 			return phy_provider;
 
 		for_each_child_of_node(phy_provider->children, child)
-			if (child == node)
+			if (child == node) {
+				of_node_put(child);
 				return phy_provider;
+			}
 	}
 
 	return ERR_PTR(-EPROBE_DEFER);

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v6 6/6] phy: core: Simplify API of_phy_simple_xlate() implementation
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
                   ` (4 preceding siblings ...)
  2024-12-13 12:36 ` [PATCH v6 5/6] phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup() Zijun Hu
@ 2024-12-13 12:36 ` Zijun Hu
  2024-12-24 14:03 ` [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
  2024-12-24 15:25 ` (subset) " Vinod Koul
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-13 12:36 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Felipe Balbi,
	Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Lee Jones
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, Zijun Hu, stable,
	linux-phy, linux-kernel, Zijun Hu, Simon Horman

From: Zijun Hu <quic_zijuhu@quicinc.com>

Simplify of_phy_simple_xlate() implementation by API
class_find_device_by_of_node().

Also correct comments to mark its parameter @dev as unused instead of
@args in passing.

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Cc: Simon Horman <horms@kernel.org>
---
 drivers/phy/phy-core.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index 413f76e2d1744dd8ffb63a6c3a093f5c6cbead7b..8dfdce605a905d7f38205727151258af41f807a9 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -749,8 +749,8 @@ EXPORT_SYMBOL_GPL(devm_phy_put);
 
 /**
  * of_phy_simple_xlate() - returns the phy instance from phy provider
- * @dev: the PHY provider device
- * @args: of_phandle_args (not used here)
+ * @dev: the PHY provider device (not used here)
+ * @args: of_phandle_args
  *
  * Intended to be used by phy provider for the common case where #phy-cells is
  * 0. For other cases where #phy-cells is greater than '0', the phy provider
@@ -760,21 +760,14 @@ EXPORT_SYMBOL_GPL(devm_phy_put);
 struct phy *of_phy_simple_xlate(struct device *dev,
 				const struct of_phandle_args *args)
 {
-	struct phy *phy;
-	struct class_dev_iter iter;
-
-	class_dev_iter_init(&iter, &phy_class, NULL, NULL);
-	while ((dev = class_dev_iter_next(&iter))) {
-		phy = to_phy(dev);
-		if (args->np != phy->dev.of_node)
-			continue;
+	struct device *target_dev;
 
-		class_dev_iter_exit(&iter);
-		return phy;
-	}
+	target_dev = class_find_device_by_of_node(&phy_class, args->np);
+	if (!target_dev)
+		return ERR_PTR(-ENODEV);
 
-	class_dev_iter_exit(&iter);
-	return ERR_PTR(-ENODEV);
+	put_device(target_dev);
+	return to_phy(target_dev);
 }
 EXPORT_SYMBOL_GPL(of_phy_simple_xlate);
 

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
                   ` (5 preceding siblings ...)
  2024-12-13 12:36 ` [PATCH v6 6/6] phy: core: Simplify API of_phy_simple_xlate() implementation Zijun Hu
@ 2024-12-24 14:03 ` Zijun Hu
  2024-12-24 15:25 ` (subset) " Vinod Koul
  7 siblings, 0 replies; 9+ messages in thread
From: Zijun Hu @ 2024-12-24 14:03 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Bjorn Helgaas,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Christophe JAILLET, Johan Hovold, stable, linux-phy,
	linux-kernel, Zijun Hu, Johan Hovold, Simon Horman,
	Kishon Vijay Abraham I, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Arnd Bergmann, Lee Jones

On 2024/12/13 20:36, Zijun Hu wrote:
> This patch series is to fix bugs for below APIs:
> 
> devm_phy_put()
> devm_of_phy_provider_unregister()
> devm_phy_destroy()
> phy_get()
> of_phy_get()
> devm_phy_get()
> devm_of_phy_get()
> devm_of_phy_get_by_index()
> 
> And simplify below API:
> 
> of_phy_simple_xlate().
> 
> Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
> ---
> Changes in v6:
> - Use non-error path solution for patch 6/6.
> - Remove stable tag for both patch 2/6 and 3/6.
> - Link to v5: https://lore.kernel.org/r/20241106-phy_core_fix-v5-0-9771652eb88c@quicinc.com

Hi Vinod,

These patch series has no response for more than 1.5 months.
could you would like to have a code review ?

Sorry for this noise.

Mainline and linux-next have fixes of similar issues for your references
shown below:

For patch [1/6, 3/6]:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fdce49b5da6e0fb6d077986dec3e90ef2b094b50
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d4929755e4d02bd3de3ae5569dab69cb9502c54f

For patch 6/6:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=dcacb364772eb463bde225176086bd7738b7102f




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: (subset) [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API
  2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
                   ` (6 preceding siblings ...)
  2024-12-24 14:03 ` [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
@ 2024-12-24 15:25 ` Vinod Koul
  7 siblings, 0 replies; 9+ messages in thread
From: Vinod Koul @ 2024-12-24 15:25 UTC (permalink / raw)
  To: Kishon Vijay Abraham I, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Arnd Bergmann, Lee Jones, Zijun Hu
  Cc: Greg Kroah-Hartman, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Bjorn Helgaas, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Christophe JAILLET, Johan Hovold, stable, linux-phy,
	linux-kernel, Zijun Hu, Johan Hovold, Simon Horman


On Fri, 13 Dec 2024 20:36:40 +0800, Zijun Hu wrote:
> This patch series is to fix bugs for below APIs:
> 
> devm_phy_put()
> devm_of_phy_provider_unregister()
> devm_phy_destroy()
> phy_get()
> of_phy_get()
> devm_phy_get()
> devm_of_phy_get()
> devm_of_phy_get_by_index()
> 
> [...]

Applied, thanks!

[6/6] phy: core: Simplify API of_phy_simple_xlate() implementation
      commit: e6625db662120572c32ac34c371f9deefb321411

Best regards,
-- 
~Vinod



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-12-24 15:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-13 12:36 [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
2024-12-13 12:36 ` [PATCH v6 1/6] phy: core: Fix that API devm_phy_put() fails to release the phy Zijun Hu
2024-12-13 12:36 ` [PATCH v6 2/6] phy: core: Fix that API devm_of_phy_provider_unregister() fails to unregister the phy provider Zijun Hu
2024-12-13 12:36 ` [PATCH v6 3/6] phy: core: Fix that API devm_phy_destroy() fails to destroy the phy Zijun Hu
2024-12-13 12:36 ` [PATCH v6 4/6] phy: core: Fix an OF node refcount leakage in _of_phy_get() Zijun Hu
2024-12-13 12:36 ` [PATCH v6 5/6] phy: core: Fix an OF node refcount leakage in of_phy_provider_lookup() Zijun Hu
2024-12-13 12:36 ` [PATCH v6 6/6] phy: core: Simplify API of_phy_simple_xlate() implementation Zijun Hu
2024-12-24 14:03 ` [PATCH v6 0/6] phy: core: Fix bugs for several APIs and simplify an API Zijun Hu
2024-12-24 15:25 ` (subset) " Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®