summaryrefslogtreecommitdiffstats
path: root/net/ipv6/seg6_local.c
diff options
context:
space:
mode:
authorYueHaibing2018-07-23 10:33:19 +0200
committerDavid S. Miller2018-07-23 18:39:07 +0200
commit7fa41efac14ffbe8db7660ad2da3928969d10caf (patch)
treeb051350ed5159074f9061128e528d7167fe9b1f4 /net/ipv6/seg6_local.c
parentMerge branch 'net-bridge-add-support-for-backup-port' (diff)
downloadkernel-qcow2-linux-7fa41efac14ffbe8db7660ad2da3928969d10caf.tar.gz
kernel-qcow2-linux-7fa41efac14ffbe8db7660ad2da3928969d10caf.tar.xz
kernel-qcow2-linux-7fa41efac14ffbe8db7660ad2da3928969d10caf.zip
ipv6: sr: Use kmemdup instead of duplicating it in parse_nla_srh
Replace calls to kmalloc followed by a memcpy with a direct call to kmemdup. Signed-off-by: YueHaibing <yuehaibing@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/seg6_local.c')
-rw-r--r--net/ipv6/seg6_local.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv6/seg6_local.c b/net/ipv6/seg6_local.c
index cd6e4cab63f6..e1025b493a18 100644
--- a/net/ipv6/seg6_local.c
+++ b/net/ipv6/seg6_local.c
@@ -637,12 +637,10 @@ static int parse_nla_srh(struct nlattr **attrs, struct seg6_local_lwt *slwt)
if (!seg6_validate_srh(srh, len))
return -EINVAL;
- slwt->srh = kmalloc(len, GFP_KERNEL);
+ slwt->srh = kmemdup(srh, len, GFP_KERNEL);
if (!slwt->srh)
return -ENOMEM;
- memcpy(slwt->srh, srh, len);
-
slwt->headroom += len;
return 0;