[PATCH] mtd: pmcmsp: use kstrndup instead of kmalloc+strncpy

Marek Vasut marek.vasut at gmail.com
Sat Feb 4 13:12:35 PST 2017


On 02/03/2017 10:49 AM, Arnd Bergmann wrote:
> kernelci.org reports a warning for this driver, as it copies a local
> variable into a 'const char *' string:
> 
>     drivers/mtd/maps/pmcmsp-flash.c:149:30: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
> 
> Using kstrndup() simplifies the code and avoids the warning.
> 
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Acked-by: Marek Vasut <marek.vasut at gmail.com>

> ---
>  drivers/mtd/maps/pmcmsp-flash.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/mtd/maps/pmcmsp-flash.c b/drivers/mtd/maps/pmcmsp-flash.c
> index f9fa3fad728e..2051f28ddac6 100644
> --- a/drivers/mtd/maps/pmcmsp-flash.c
> +++ b/drivers/mtd/maps/pmcmsp-flash.c
> @@ -139,15 +139,13 @@ static int __init init_msp_flash(void)
>  		}
>  
>  		msp_maps[i].bankwidth = 1;
> -		msp_maps[i].name = kmalloc(7, GFP_KERNEL);
> +		msp_maps[i].name = kstrndup(flash_name, 7, GFP_KERNEL);
>  		if (!msp_maps[i].name) {
>  			iounmap(msp_maps[i].virt);
>  			kfree(msp_parts[i]);
>  			goto cleanup_loop;
>  		}
>  
> -		msp_maps[i].name = strncpy(msp_maps[i].name, flash_name, 7);
> -
>  		for (j = 0; j < pcnt; j++) {
>  			part_name[5] = '0' + i;
>  			part_name[7] = '0' + j;
> 


-- 
Best regards,
Marek Vasut



More information about the linux-mtd mailing list