staging: wilc1000: use kmemdup instead of kmalloc and memcpy
authorHariPrasath Elango <hariprasath.elango@gmail.com>
Wed, 14 Mar 2018 12:45:01 +0000 (18:15 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Mar 2018 18:45:31 +0000 (19:45 +0100)
Kmalloc followed by memcpy can be replaced by kmemdup.

Signed-off-by: HariPrasath Elango <hariprasath.elango@gmail.com>
Reviewed-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_mon.c

index bbdfc7a..47e3025 100644 (file)
@@ -147,7 +147,7 @@ static int mon_mgmt_tx(struct net_device *dev, const u8 *buf, size_t len)
        if (!mgmt_tx)
                return -ENOMEM;
 
-       mgmt_tx->buff = kmalloc(len, GFP_ATOMIC);
+       mgmt_tx->buff = kmemdup(buf, len, GFP_ATOMIC);
        if (!mgmt_tx->buff) {
                kfree(mgmt_tx);
                return -ENOMEM;
@@ -155,7 +155,6 @@ static int mon_mgmt_tx(struct net_device *dev, const u8 *buf, size_t len)
 
        mgmt_tx->size = len;
 
-       memcpy(mgmt_tx->buff, buf, len);
        wilc_wlan_txq_add_mgmt_pkt(dev, mgmt_tx, mgmt_tx->buff, mgmt_tx->size,
                                   mgmt_tx_complete);