Thread (6 messages) 6 messages, 4 authors, 2017-07-10

Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

From: Gustavo A. R. Silva <hidden>
Date: 2017-07-10 19:25:01
Also in: linux-tegra, lkml

Hi all,

Quoting Dmitry Torokhov [off-list ref]:
On Fri, Jul 07, 2017 at 11:30:41AM +0200, Thierry Reding wrote:
quoted
On Fri, Jul 07, 2017 at 08:42:32AM +0100, Jon Hunter wrote:
quoted
On 07/07/17 07:27, Gustavo A. R. Silva wrote:
quoted
Check return value from call to of_match_device()
in order to prevent a NULL pointer dereference.

In case of NULL print error message and return -ENODEV

Signed-off-by: Gustavo A. R. Silva <redacted>
---
 drivers/input/keyboard/tegra-kbc.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/drivers/input/keyboard/tegra-kbc.c  
b/drivers/input/keyboard/tegra-kbc.c
quoted
quoted
index 0c07e10..742c5ac 100644
--- a/drivers/input/keyboard/tegra-kbc.c
+++ b/drivers/input/keyboard/tegra-kbc.c
@@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct  
platform_device *pdev)
quoted
quoted
 	const struct of_device_id *match;

 	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
+	if (!match) {
+		dev_err(&pdev->dev, "failed to match device\n");
+		return -ENODEV;
+	}
Given that Tegra always uses device-tree, I believe that this cannot
happen and so this additional check is not needed.
I think you can make it happen if you manually create the platform
device with a name matching that of the driver. But you really shouldn't
be doing that, so might as well let it crash and burn so that people
realize their mistake early.

Errors are easily overlooked, crashes are not.
Agree.
I get it.

Thanks for clarifying.
--
Gustavo A. R. Silva
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help