Browse Source

ipv6: seg6_genl_set_tunsrc() must check kmemdup() return value

seg6_genl_get_tunsrc() and set_tun_src() do not handle tun_src being
possibly NULL, so we must check kmemdup() return value and abort if
it is NULL

Fixes: 915d7e5e5930 ("ipv6: sr: add code base for control plane support of SR-IPv6")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: David Lebrun <david.lebrun@uclouvain.be>
Acked-by: David Lebrun <david.lebrun@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet 8 years ago
parent
commit
e363116b90
1 changed files with 2 additions and 0 deletions
  1. 2 0
      net/ipv6/seg6.c

+ 2 - 0
net/ipv6/seg6.c

@@ -176,6 +176,8 @@ static int seg6_genl_set_tunsrc(struct sk_buff *skb, struct genl_info *info)
 
 
 	val = nla_data(info->attrs[SEG6_ATTR_DST]);
 	val = nla_data(info->attrs[SEG6_ATTR_DST]);
 	t_new = kmemdup(val, sizeof(*val), GFP_KERNEL);
 	t_new = kmemdup(val, sizeof(*val), GFP_KERNEL);
+	if (!t_new)
+		return -ENOMEM;
 
 
 	mutex_lock(&sdata->lock);
 	mutex_lock(&sdata->lock);