mtd: pmcmsp: use kstrndup instead of kmalloc+strncpy
authorArnd Bergmann <arnd@arndb.de>
Fri, 3 Feb 2017 09:49:17 +0000 (10:49 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 8 Feb 2017 21:15:49 +0000 (13:15 -0800)
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@arndb.de>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/maps/pmcmsp-flash.c

index f9fa3fad728e5e3b0687c5affadd7cf8d0b129b0..2051f28ddac6e6312cd8b1746aa3db9f561ab1ec 100644 (file)
@@ -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;