net:liquidio: use kmemdup
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Thu, 19 May 2016 13:52:49 +0000 (19:22 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 May 2016 23:50:07 +0000 (19:50 -0400)
Use kmemdup when some other buffer is immediately copied into allocated
region. It replaces call to allocation followed by memcpy, by a single
call to kmemdup.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_device.c

index f67641a2ff9eff652a7998f4c6d8f8fab873fc63..8e23e3fad662bc4639db429ec99f773729e910f3 100644 (file)
@@ -602,12 +602,10 @@ int octeon_download_firmware(struct octeon_device *oct, const u8 *data,
        snprintf(oct->fw_info.liquidio_firmware_version, 32, "LIQUIDIO: %s",
                 h->version);
 
-       buffer = kmalloc(size, GFP_KERNEL);
+       buffer = kmemdup(data, size, GFP_KERNEL);
        if (!buffer)
                return -ENOMEM;
 
-       memcpy(buffer, data, size);
-
        p = buffer + sizeof(struct octeon_firmware_file_header);
 
        /* load all images */