2017-07-06 22:37:46

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] mtd: spear_smi: add NULL check on devm_kzalloc() return value

Check return value from call to devm_kzalloc()
in order to prevent a NULL pointer dereference.

This issue was detected using Coccinelle and the following semantic patch:

@@
expression x;
identifier fld;
@@

* x = devm_kzalloc(...);
... when != x == NULL
x->fld

Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/mtd/devices/spear_smi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c
index dd50698..ddf4789 100644
--- a/drivers/mtd/devices/spear_smi.c
+++ b/drivers/mtd/devices/spear_smi.c
@@ -775,6 +775,8 @@ static int spear_smi_probe_config_dt(struct platform_device *pdev,
pdata->board_flash_info = devm_kzalloc(&pdev->dev,
sizeof(*pdata->board_flash_info),
GFP_KERNEL);
+ if (!pdata->board_flash_info)
+ return -ENOMEM;

/* Fill structs for each subnode (flash device) */
while ((pp = of_get_next_child(np, pp))) {
--
2.5.0


2017-07-17 20:49:49

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: spear_smi: add NULL check on devm_kzalloc() return value

Le Thu, 6 Jul 2017 17:25:50 -0500,
"Gustavo A. R. Silva" <[email protected]> a écrit :

> Check return value from call to devm_kzalloc()
> in order to prevent a NULL pointer dereference.
>
> This issue was detected using Coccinelle and the following semantic patch:
>
> @@
> expression x;
> identifier fld;
> @@
>
> * x = devm_kzalloc(...);
> ... when != x == NULL
> x->fld
>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Acked-by: Boris Brezillon <[email protected]>

> ---
> drivers/mtd/devices/spear_smi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c
> index dd50698..ddf4789 100644
> --- a/drivers/mtd/devices/spear_smi.c
> +++ b/drivers/mtd/devices/spear_smi.c
> @@ -775,6 +775,8 @@ static int spear_smi_probe_config_dt(struct platform_device *pdev,
> pdata->board_flash_info = devm_kzalloc(&pdev->dev,
> sizeof(*pdata->board_flash_info),
> GFP_KERNEL);
> + if (!pdata->board_flash_info)
> + return -ENOMEM;
>
> /* Fill structs for each subnode (flash device) */
> while ((pp = of_get_next_child(np, pp))) {

2017-08-17 12:58:06

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: spear_smi: add NULL check on devm_kzalloc() return value

Le Thu, 6 Jul 2017 17:25:50 -0500,
"Gustavo A. R. Silva" <[email protected]> a écrit :

> Check return value from call to devm_kzalloc()
> in order to prevent a NULL pointer dereference.
>
> This issue was detected using Coccinelle and the following semantic patch:
>
> @@
> expression x;
> identifier fld;
> @@
>
> * x = devm_kzalloc(...);
> ... when != x == NULL
> x->fld
>

Applied to l2-mtd/master.

Thanks,

Boris

> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/mtd/devices/spear_smi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c
> index dd50698..ddf4789 100644
> --- a/drivers/mtd/devices/spear_smi.c
> +++ b/drivers/mtd/devices/spear_smi.c
> @@ -775,6 +775,8 @@ static int spear_smi_probe_config_dt(struct platform_device *pdev,
> pdata->board_flash_info = devm_kzalloc(&pdev->dev,
> sizeof(*pdata->board_flash_info),
> GFP_KERNEL);
> + if (!pdata->board_flash_info)
> + return -ENOMEM;
>
> /* Fill structs for each subnode (flash device) */
> while ((pp = of_get_next_child(np, pp))) {