2013-03-27 21:48:30

by Andrei Epure

[permalink] [raw]
Subject: [PATCH] power: kmemdup instead of kzalloc + memcpy

Patch found using coccinelle.

Signed-off-by: Andrei Epure <[email protected]>
---
drivers/power/charger-manager.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c
index 8acc3f8..fefc39f 100644
--- a/drivers/power/charger-manager.c
+++ b/drivers/power/charger-manager.c
@@ -1485,13 +1485,12 @@ static int charger_manager_probe(struct platform_device *pdev)

/* Basic Values. Unspecified are Null or 0 */
cm->dev = &pdev->dev;
- cm->desc = kzalloc(sizeof(struct charger_desc), GFP_KERNEL);
+ cm->desc = kmemdup(desc, sizeof(struct charger_desc), GFP_KERNEL);
if (!cm->desc) {
dev_err(&pdev->dev, "Cannot allocate memory.\n");
ret = -ENOMEM;
goto err_alloc_desc;
}
- memcpy(cm->desc, desc, sizeof(struct charger_desc));
cm->last_temp_mC = INT_MIN; /* denotes "unmeasured, yet" */

/*
--
1.7.9.5


2013-04-17 02:02:13

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [PATCH] power: kmemdup instead of kzalloc + memcpy

On Wed, Mar 27, 2013 at 11:48:21PM +0200, Andrei Epure wrote:
> Patch found using coccinelle.
>
> Signed-off-by: Andrei Epure <[email protected]>
> ---

Applied, thanks!

> drivers/power/charger-manager.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c
> index 8acc3f8..fefc39f 100644
> --- a/drivers/power/charger-manager.c
> +++ b/drivers/power/charger-manager.c
> @@ -1485,13 +1485,12 @@ static int charger_manager_probe(struct platform_device *pdev)
>
> /* Basic Values. Unspecified are Null or 0 */
> cm->dev = &pdev->dev;
> - cm->desc = kzalloc(sizeof(struct charger_desc), GFP_KERNEL);
> + cm->desc = kmemdup(desc, sizeof(struct charger_desc), GFP_KERNEL);
> if (!cm->desc) {
> dev_err(&pdev->dev, "Cannot allocate memory.\n");
> ret = -ENOMEM;
> goto err_alloc_desc;
> }
> - memcpy(cm->desc, desc, sizeof(struct charger_desc));
> cm->last_temp_mC = INT_MIN; /* denotes "unmeasured, yet" */
>
> /*
> --
> 1.7.9.5