All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miaoqian Lin <linmq006@gmail.com>
Cc: linmq006@gmail.com, JC Kuo <jckuo@nvidia.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Vinod Koul <vkoul@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	linux-phy@lists.infradead.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] phy: tegra: xusb: Fix NULL vs IS_ERR_OR_NULL checking
Date: Sun, 12 Dec 2021 06:50:14 +0000	[thread overview]
Message-ID: <20211212065014.31660-1-linmq006@gmail.com> (raw)

The tegra_xusb_find_port_node() function may return error pointer when
kasprintf() return NULL. Using IS_ERR_OR_NULL to check the return value
of tegra_xusb_find_port_node() to catch this.

Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/phy/tegra/xusb.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
index 963de5913e50..52c2f85c67c3 100644
--- a/drivers/phy/tegra/xusb.c
+++ b/drivers/phy/tegra/xusb.c
@@ -472,7 +472,7 @@ tegra_xusb_find_port(struct tegra_xusb_padctl *padctl, const char *type,
 	struct device_node *np;
 
 	np = tegra_xusb_find_port_node(padctl, type, index);
-	if (!np)
+	if (IS_ERR_OR_NULL(np))
 		return NULL;
 
 	list_for_each_entry(port, &padctl->ports, list) {
@@ -763,7 +763,7 @@ static int tegra_xusb_add_usb2_port(struct tegra_xusb_padctl *padctl,
 	 * marked as disabled there is no reason to register it.
 	 */
 	np = tegra_xusb_find_port_node(padctl, "usb2", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	usb2 = kzalloc(sizeof(*usb2), GFP_KERNEL);
@@ -829,7 +829,7 @@ static int tegra_xusb_add_ulpi_port(struct tegra_xusb_padctl *padctl,
 	int err = 0;
 
 	np = tegra_xusb_find_port_node(padctl, "ulpi", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	ulpi = kzalloc(sizeof(*ulpi), GFP_KERNEL);
@@ -884,7 +884,7 @@ static int tegra_xusb_add_hsic_port(struct tegra_xusb_padctl *padctl,
 	int err = 0;
 
 	np = tegra_xusb_find_port_node(padctl, "hsic", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	hsic = kzalloc(sizeof(*hsic), GFP_KERNEL);
@@ -970,7 +970,7 @@ static int tegra_xusb_add_usb3_port(struct tegra_xusb_padctl *padctl,
 	 * hence return 0 instead of an error to allow ports to be optional.
 	 */
 	np = tegra_xusb_find_port_node(padctl, "usb3", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	usb3 = kzalloc(sizeof(*usb3), GFP_KERNEL);
@@ -1035,7 +1035,7 @@ static int tegra_xusb_find_unused_usb3_port(struct tegra_xusb_padctl *padctl)
 
 	for (i = 0; i < padctl->soc->ports.usb3.count; i++) {
 		np = tegra_xusb_find_port_node(padctl, "usb3", i);
-		if (!np || !of_device_is_available(np))
+		if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 			return i;
 	}
 
-- 
2.17.1


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Miaoqian Lin <linmq006@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linmq006@gmail.com, JC Kuo <jckuo@nvidia.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Vinod Koul <vkoul@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	linux-phy@lists.infradead.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] phy: tegra: xusb: Fix NULL vs IS_ERR_OR_NULL checking
Date: Sun, 12 Dec 2021 06:50:14 +0000	[thread overview]
Message-ID: <20211212065014.31660-1-linmq006@gmail.com> (raw)

The tegra_xusb_find_port_node() function may return error pointer when
kasprintf() return NULL. Using IS_ERR_OR_NULL to check the return value
of tegra_xusb_find_port_node() to catch this.

Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/phy/tegra/xusb.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
index 963de5913e50..52c2f85c67c3 100644
--- a/drivers/phy/tegra/xusb.c
+++ b/drivers/phy/tegra/xusb.c
@@ -472,7 +472,7 @@ tegra_xusb_find_port(struct tegra_xusb_padctl *padctl, const char *type,
 	struct device_node *np;
 
 	np = tegra_xusb_find_port_node(padctl, type, index);
-	if (!np)
+	if (IS_ERR_OR_NULL(np))
 		return NULL;
 
 	list_for_each_entry(port, &padctl->ports, list) {
@@ -763,7 +763,7 @@ static int tegra_xusb_add_usb2_port(struct tegra_xusb_padctl *padctl,
 	 * marked as disabled there is no reason to register it.
 	 */
 	np = tegra_xusb_find_port_node(padctl, "usb2", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	usb2 = kzalloc(sizeof(*usb2), GFP_KERNEL);
@@ -829,7 +829,7 @@ static int tegra_xusb_add_ulpi_port(struct tegra_xusb_padctl *padctl,
 	int err = 0;
 
 	np = tegra_xusb_find_port_node(padctl, "ulpi", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	ulpi = kzalloc(sizeof(*ulpi), GFP_KERNEL);
@@ -884,7 +884,7 @@ static int tegra_xusb_add_hsic_port(struct tegra_xusb_padctl *padctl,
 	int err = 0;
 
 	np = tegra_xusb_find_port_node(padctl, "hsic", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	hsic = kzalloc(sizeof(*hsic), GFP_KERNEL);
@@ -970,7 +970,7 @@ static int tegra_xusb_add_usb3_port(struct tegra_xusb_padctl *padctl,
 	 * hence return 0 instead of an error to allow ports to be optional.
 	 */
 	np = tegra_xusb_find_port_node(padctl, "usb3", index);
-	if (!np || !of_device_is_available(np))
+	if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 		goto out;
 
 	usb3 = kzalloc(sizeof(*usb3), GFP_KERNEL);
@@ -1035,7 +1035,7 @@ static int tegra_xusb_find_unused_usb3_port(struct tegra_xusb_padctl *padctl)
 
 	for (i = 0; i < padctl->soc->ports.usb3.count; i++) {
 		np = tegra_xusb_find_port_node(padctl, "usb3", i);
-		if (!np || !of_device_is_available(np))
+		if (IS_ERR_OR_NULL(np) || !of_device_is_available(np))
 			return i;
 	}
 
-- 
2.17.1


             reply	other threads:[~2021-12-12  6:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-12  6:50 Miaoqian Lin [this message]
2021-12-12  6:50 ` [PATCH] phy: tegra: xusb: Fix NULL vs IS_ERR_OR_NULL checking Miaoqian Lin
2021-12-12 14:31 ` Dmitry Osipenko
2021-12-12 14:31   ` Dmitry Osipenko
2021-12-13  2:05   ` [PATCH v2] phy: tegra: xusb: Fix return value of tegra_xusb_find_port_node function Miaoqian Lin
2021-12-13  2:05     ` Miaoqian Lin
2021-12-13 10:24     ` Thierry Reding
2021-12-13 10:24       ` Thierry Reding
2021-12-14  7:37     ` Vinod Koul
2021-12-14  7:37       ` Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211212065014.31660-1-linmq006@gmail.com \
    --to=linmq006@gmail.com \
    --cc=jckuo@nvidia.com \
    --cc=jonathanh@nvidia.com \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.