gtp: consolidate error path in gtp_ip4_prepare_xmit

This commit is contained in:
Pablo Neira Ayuso 2014-02-13 18:26:18 +01:00
parent 3bc7019c7a
commit 28da979257
1 changed files with 4 additions and 4 deletions

8
gtp.c
View File

@ -543,9 +543,8 @@ static int gtp_ip4_prepare_xmit(struct sk_buff *skb, struct net_device *dev,
/* There is a routing loop */
if (tdev == dev) {
pr_info("rt loop, skipping\n");
ip_rt_put(rt);
dev->stats.collisions++;
goto err;
goto err_rt;
}
memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
@ -571,13 +570,14 @@ static int gtp_ip4_prepare_xmit(struct sk_buff *skb, struct net_device *dev,
mtu < ntohs(iph->tot_len)) {
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
htonl(mtu));
ip_rt_put(rt);
goto err;
goto err_rt;
}
gtp_set_pktinfo_ipv4(pktinfo, iph, pctx, rt, &fl4);
return 0;
err_rt:
ip_rt_put(rt);
err:
return -1;
}