Skip to contentSkip to conversation

Patch "pinctrl: freescale: imx: fix bogus check of of_iomap() return value" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Apr 17, 2016

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

pinctrl: freescale: imx: fix bogus check of of_iomap() return value

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
pinctrl-freescale-imx-fix-bogus-check-of-of_iomap-return-value.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 9a4f424531dabd877259ae0071b8bcc4dede9eb5 Mon Sep 17 00:00:00 2001

From: Vladimir Zapolskiy <[email protected]>
Date: Wed, 9 Mar 2016 02:45:36 +0200
Subject: pinctrl: freescale: imx: fix bogus check of of_iomap() return value

From: Vladimir Zapolskiy <[email protected]>

commit 9a4f424531dabd877259ae0071b8bcc4dede9eb5 upstream.

On error path of_iomap() returns NULL, hence IS_ERR() check is invalid and may cause a NULL pointer dereference, the change fixes this problem.

While we are here invert a device node check to simplify the code.

Fixes 26d8cde5260b ("pinctrl: freescale: imx: add shared input select reg support")
---
 drivers/pinctrl/freescale/pinctrl-imx.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
drivers/pinctrl/freescale/pinctrl-imx.c +8 -9
@@ -726,19 +726,18 @@ int imx_pinctrl_probe(struct platform_de
 
 	if (of_property_read_bool(dev_np, "fsl,input-sel")) {
 		np = of_parse_phandle(dev_np, "fsl,input-sel", 0);
-		if (np) {
-			ipctl->input_sel_base = of_iomap(np, 0);
-			if (IS_ERR(ipctl->input_sel_base)) {
-				of_node_put(np);
-				dev_err(&pdev->dev,
-					"iomuxc input select base address not found\n");
-				return PTR_ERR(ipctl->input_sel_base);
-			}
-		} else {
+		if (!np) {
 			dev_err(&pdev->dev, "iomuxc fsl,input-sel property not found\n");
 			return -EINVAL;
 		}
+
+		ipctl->input_sel_base = of_iomap(np, 0);
 		of_node_put(np);
+		if (!ipctl->input_sel_base) {
+			dev_err(&pdev->dev,
+				"iomuxc input select base address not found\n");
+			return -ENOMEM;
+		}
 	}
 
 	imx_pinctrl_desc.name = dev_name(&pdev->dev);

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/pinctrl-freescale-imx-fix-bogus-check-of-of_iomap-return-value.patch