diff options
author | Shyam Saini <mayhs11saini@gmail.com> | 2016-12-23 14:14:58 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-12-29 11:37:14 -0500 |
commit | 801822d1beea4f11a38df991b420ca917f6a917b (patch) | |
tree | 2e8ccd20864425053597d8c8448151463f7f7f70 | |
parent | 5671e8c19c8cb4dd432e54f5bc5e2e9a9bac894b (diff) |
net: Use kmemdup instead of kmalloc and memcpy
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 <mayhs11saini@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/virtio_net.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 4a105006ca63..2cea022e6e6e 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
@@ -1236,10 +1236,9 @@ static int virtnet_set_mac_address(struct net_device *dev, void *p) | |||
1236 | struct sockaddr *addr; | 1236 | struct sockaddr *addr; |
1237 | struct scatterlist sg; | 1237 | struct scatterlist sg; |
1238 | 1238 | ||
1239 | addr = kmalloc(sizeof(*addr), GFP_KERNEL); | 1239 | addr = kmemdup(p, sizeof(*addr), GFP_KERNEL); |
1240 | if (!addr) | 1240 | if (!addr) |
1241 | return -ENOMEM; | 1241 | return -ENOMEM; |
1242 | memcpy(addr, p, sizeof(*addr)); | ||
1243 | 1242 | ||
1244 | ret = eth_prepare_mac_addr_change(dev, addr); | 1243 | ret = eth_prepare_mac_addr_change(dev, addr); |
1245 | if (ret) | 1244 | if (ret) |