when some other buffer is immediately copied into allocated region.
Replace calls to kmalloc followed by a memcpy with a direct
call to kmemdup.

Signed-off-by: Shyam Saini <mayhs11sa...@gmail.com>
---
 drivers/net/virtio_net.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index ba1aa24..dde4bc4 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1206,10 +1206,9 @@ static int virtnet_set_mac_address(struct net_device 
*dev, void *p)
        struct sockaddr *addr;
        struct scatterlist sg;
 
-       addr = kmalloc(sizeof(*addr), GFP_KERNEL);
+       addr = kmemdup(p, sizeof(*addr), GFP_KERNEL);
        if (!addr)
                return -ENOMEM;
-       memcpy(addr, p, sizeof(*addr));
 
        ret = eth_prepare_mac_addr_change(dev, addr);
        if (ret)
-- 
2.7.4

Reply via email to