2015-02-11 10:11:54

by Kiran Padwal

[permalink] [raw]
Subject: [PATCH] mfd: intel_soc_pmic: Add missing error check for devm_kzalloc

This patch add a missing check on the return value of devm_kzalloc,
which would cause a NULL pointer dereference in a OOM situation.

Signed-off-by: Kiran Padwal <[email protected]>
---
drivers/mfd/intel_soc_pmic_core.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
index df7b064..80cef04 100644
--- a/drivers/mfd/intel_soc_pmic_core.c
+++ b/drivers/mfd/intel_soc_pmic_core.c
@@ -64,6 +64,9 @@ static int intel_soc_pmic_i2c_probe(struct i2c_client *i2c,
config = (struct intel_soc_pmic_config *)id->driver_data;

pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
+ if (!pmic)
+ return -ENOMEM;
+
dev_set_drvdata(dev, pmic);

pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config);
--
1.7.9.5


2015-02-16 12:51:41

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] mfd: intel_soc_pmic: Add missing error check for devm_kzalloc

On Wed, 11 Feb 2015, Kiran Padwal wrote:

> This patch add a missing check on the return value of devm_kzalloc,
> which would cause a NULL pointer dereference in a OOM situation.
>
> Signed-off-by: Kiran Padwal <[email protected]>
> ---
> drivers/mfd/intel_soc_pmic_core.c | 3 +++
> 1 file changed, 3 insertions(+)

Applied, thanks.

> diff --git a/drivers/mfd/intel_soc_pmic_core.c b/drivers/mfd/intel_soc_pmic_core.c
> index df7b064..80cef04 100644
> --- a/drivers/mfd/intel_soc_pmic_core.c
> +++ b/drivers/mfd/intel_soc_pmic_core.c
> @@ -64,6 +64,9 @@ static int intel_soc_pmic_i2c_probe(struct i2c_client *i2c,
> config = (struct intel_soc_pmic_config *)id->driver_data;
>
> pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
> + if (!pmic)
> + return -ENOMEM;
> +
> dev_set_drvdata(dev, pmic);
>
> pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config);

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog