Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1628943 > unrolled thread

[PATCH 1/1] power: check return value of devm_kzalloc

Started byPan Bian <bianpan2016@163.com>
First post2017-04-23 11:10 +0200
Last post2017-04-23 21:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/1] power: check return value of devm_kzalloc Pan Bian <bianpan2016@163.com> - 2017-04-23 11:10 +0200
    Re: [PATCH 1/1] power: check return value of devm_kzalloc Pali Rohár <pali.rohar@gmail.com> - 2017-04-23 21:50 +0200

#1628943 — [PATCH 1/1] power: check return value of devm_kzalloc

FromPan Bian <bianpan2016@163.com>
Date2017-04-23 11:10 +0200
Subject[PATCH 1/1] power: check return value of devm_kzalloc
Message-ID<tzlGN-6uj-15@gated-at.bofh.it>
Function devm_kzalloc() will return a NULL pointer if there is no enough
memory. However, in function isp1704_charger_probe(), the return value
of devm_kzalloc() is used without validation. This may result in a bad
memory access bug. This patch fixes the bug.

Signed-off-by: Pan Bian <bianpan2016@163.com>
---
 drivers/power/supply/isp1704_charger.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/power/supply/isp1704_charger.c b/drivers/power/supply/isp1704_charger.c
index 4cd6899..4dd2482 100644
--- a/drivers/power/supply/isp1704_charger.c
+++ b/drivers/power/supply/isp1704_charger.c
@@ -418,6 +418,8 @@ static int isp1704_charger_probe(struct platform_device *pdev)
 
 		pdata = devm_kzalloc(&pdev->dev,
 			sizeof(struct isp1704_charger_data), GFP_KERNEL);
+		if (!pdata)
+			return -ENOMEM;
 		pdata->enable_gpio = gpio;
 
 		dev_info(&pdev->dev, "init gpio %d\n", pdata->enable_gpio);
-- 
1.9.1

[toc] | [next] | [standalone]


#1629070

FromPali Rohár <pali.rohar@gmail.com>
Date2017-04-23 21:50 +0200
Message-ID<tzvG9-4lo-5@gated-at.bofh.it>
In reply to#1628943

[Multipart message — attachments visible in raw view] — view raw

On Sunday 23 April 2017 11:03:56 Pan Bian wrote:
>  		pdata = devm_kzalloc(&pdev->dev,
>  			sizeof(struct isp1704_charger_data), GFP_KERNEL);
> +		if (!pdata)
> +			return -ENOMEM;
>  		pdata->enable_gpio = gpio;
> 
>  		dev_info(&pdev->dev, "init gpio %d\n", pdata->enable_gpio);

What about calling "goto fail0", so there will be error message about 
failure of registering isp1704 like for any other failures?

-- 
Pali Rohár
pali.rohar@gmail.com

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web