diff mbox series

pinctrl: berlin: as370: Fix to avoid NULL pointer dereference

Message ID 20190318233734.9991-1-pakki001@umn.edu
State New
Headers show
Series pinctrl: berlin: as370: Fix to avoid NULL pointer dereference | expand

Commit Message

Aditya Pakki March 18, 2019, 11:37 p.m. UTC
of_match_device in as370_pinctrl_probe can return a NULL value
when the matching device is not found. The patch avoids a potential
dereference in such scenario.

Signed-off-by: Aditya Pakki <pakki001@umn.edu>
---
 drivers/pinctrl/berlin/pinctrl-as370.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jisheng Zhang March 19, 2019, 5:30 a.m. UTC | #1
On Mon, 18 Mar 2019 18:37:27 -0500 Aditya Pakki wrote:
> 
> 
> of_match_device in as370_pinctrl_probe can return a NULL value
> when the matching device is not found. The patch avoids a potential

Similar as the comment to your previous patch, this could not happen.
If the probe is called, it means OF registered a device with a valid
compatible string, so match cannot be NULL.

> dereference in such scenario.
> 
> Signed-off-by: Aditya Pakki <pakki001@umn.edu>
> ---
>  drivers/pinctrl/berlin/pinctrl-as370.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/pinctrl/berlin/pinctrl-as370.c b/drivers/pinctrl/berlin/pinctrl-as370.c
> index 44f8ccdbeeff..78bb5b866c99 100644
> --- a/drivers/pinctrl/berlin/pinctrl-as370.c
> +++ b/drivers/pinctrl/berlin/pinctrl-as370.c
> @@ -337,6 +337,8 @@ static int as370_pinctrl_probe(struct platform_device *pdev)
>         struct resource *res;
>         void __iomem *base;
> 
> +       if (!match)
> +               return -ENODEV;
>         rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
>         if (!rmconfig)
>                 return -ENOMEM;
> --
> 2.17.1
>
diff mbox series

Patch

diff --git a/drivers/pinctrl/berlin/pinctrl-as370.c b/drivers/pinctrl/berlin/pinctrl-as370.c
index 44f8ccdbeeff..78bb5b866c99 100644
--- a/drivers/pinctrl/berlin/pinctrl-as370.c
+++ b/drivers/pinctrl/berlin/pinctrl-as370.c
@@ -337,6 +337,8 @@  static int as370_pinctrl_probe(struct platform_device *pdev)
 	struct resource *res;
 	void __iomem *base;
 
+	if (!match)
+		return -ENODEV;
 	rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
 	if (!rmconfig)
 		return -ENOMEM;