11 May
2016
11 May
'16
8:24 a.m.
On Sun, May 8, 2016 at 3:55 PM, Pablo Neira Ayuso <pablo@netfilter.org> wrote:
+static int gtp_genl_new_pdp(struct sk_buff *skb, struct genl_info *info) +{ ... + + net = gtp_genl_get_net(sock_net(skb->sk), info->attrs); + if (IS_ERR(net)) + return PTR_ERR(net); + + /* Check if there's an existing gtpX device to configure */ + dev = gtp_find_dev(net, nla_get_u32(info->attrs[GTPA_LINK])); + if (dev == NULL) + return -ENODEV; + + return ipv4_pdp_add(dev, info);
Seems you are leaking struct net at least in the error path.