diff options
author | YueHaibing <yuehaibing@huawei.com> | 2018-07-23 16:33:19 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-23 09:39:07 -0700 |
commit | 7fa41efac14ffbe8db7660ad2da3928969d10caf (patch) | |
tree | b051350ed5159074f9061128e528d7167fe9b1f4 /net/ipv6/seg6_local.c | |
parent | f8b2990fd91ecf66ee030da26de8336b28d3e1aa (diff) | |
download | talos-op-linux-7fa41efac14ffbe8db7660ad2da3928969d10caf.tar.gz talos-op-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.c | 4 |
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; |