Re: [PATCH] media: dvb-frontends: Use kmemdup instead of duplicating its function

From: Michael Ira Krufky
Date: Tue Sep 18 2018 - 15:58:50 EST


On Tue, Sep 18, 2018 at 11:42 AM zhong jiang <zhongjiang@xxxxxxxxxx> wrote:
>
> kmemdup has implemented the function that kmalloc() + memcpy().
> We prefer to kmemdup rather than code opened implementation.
>
> Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx>
> ---
> drivers/media/dvb-frontends/lgdt3306a.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c
> index 0e1f5da..abec2e5 100644
> --- a/drivers/media/dvb-frontends/lgdt3306a.c
> +++ b/drivers/media/dvb-frontends/lgdt3306a.c
> @@ -2205,15 +2205,13 @@ static int lgdt3306a_probe(struct i2c_client *client,
> struct dvb_frontend *fe;
> int ret;
>
> - config = kzalloc(sizeof(struct lgdt3306a_config), GFP_KERNEL);
> + onfig = kmemdup(client->dev.platform_data,
> + sizeof(struct lgdt3306a_config), GFP_KERNEL);
> if (config == NULL) {
> ret = -ENOMEM;
> goto fail;
> }
>
> - memcpy(config, client->dev.platform_data,
> - sizeof(struct lgdt3306a_config));
> -
> config->i2c_addr = client->addr;
> fe = lgdt3306a_attach(config, client->adapter);
> if (fe == NULL) {

Thank you for this patch, Zhong. I suspect, however, that the patch
might contain a typo. It looks like the `c` got dropped off of the
`config` variable.

Did you test this before sending it in?

Thanks again and best regards,

Michael Krufky