Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1569418
| From | Shailendra Verma <shailendra.v@samsung.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] Pinctrl: mvebu - Fix possible NULL derefrence. |
| Date | 2017-01-30 07:10 +0100 |
| Message-ID | <t5dk5-se-3@gated-at.bofh.it> (permalink) |
| References | <t5dk5-se-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
of_match_device could return NULL, and so can cause a NULL
pointer dereference later.
Signed-off-by: Shailendra Verma <shailendra.v@samsung.com>
---
drivers/pinctrl/mvebu/pinctrl-dove.c | 4 ++++
drivers/pinctrl/mvebu/pinctrl-kirkwood.c | 4 ++++
drivers/pinctrl/mvebu/pinctrl-orion.c | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/drivers/pinctrl/mvebu/pinctrl-dove.c b/drivers/pinctrl/mvebu/pinctrl-dove.c
index f93ae0d..f9fe6d4 100644
--- a/drivers/pinctrl/mvebu/pinctrl-dove.c
+++ b/drivers/pinctrl/mvebu/pinctrl-dove.c
@@ -769,6 +769,10 @@ static int dove_pinctrl_probe(struct platform_device *pdev)
struct resource fb_res;
const struct of_device_id *match =
of_match_device(dove_pinctrl_of_match, &pdev->dev);
+ if (!match) {
+ dev_err(&pdev->dev, "Error: No device match found\n");
+ return -ENODEV;
+ }
pdev->dev.platform_data = (void *)match->data;
/*
diff --git a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
index 5f89c26..75efb83 100644
--- a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
+++ b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
@@ -472,6 +472,10 @@ static int kirkwood_pinctrl_probe(struct platform_device *pdev)
struct resource *res;
const struct of_device_id *match =
of_match_device(kirkwood_pinctrl_of_match, &pdev->dev);
+ if (!match) {
+ dev_err(&pdev->dev, "Error: No device match found\n");
+ return -ENODEV;
+ }
pdev->dev.platform_data = (void *)match->data;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
diff --git a/drivers/pinctrl/mvebu/pinctrl-orion.c b/drivers/pinctrl/mvebu/pinctrl-orion.c
index 84e1441..559ac32 100644
--- a/drivers/pinctrl/mvebu/pinctrl-orion.c
+++ b/drivers/pinctrl/mvebu/pinctrl-orion.c
@@ -225,6 +225,10 @@ static int orion_pinctrl_probe(struct platform_device *pdev)
of_match_device(orion_pinctrl_of_match, &pdev->dev);
struct resource *res;
+ if (!match) {
+ dev_err(&pdev->dev, "Error: No device match found\n");
+ return -ENODEV;
+ }
pdev->dev.platform_data = (void*)match->data;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
--
1.7.9.5
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] Pinctrl: mvebu - Fix possible NULL derefrence. Shailendra Verma <shailendra.v@samsung.com> - 2017-01-30 07:10 +0100
Re: [PATCH] Pinctrl: mvebu - Fix possible NULL derefrence. Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2017-01-30 09:40 +0100
Re: [PATCH] Pinctrl: mvebu - Fix possible NULL derefrence. Linus Walleij <linus.walleij@linaro.org> - 2017-01-30 16:40 +0100
csiph-web