ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb
authorAlexander Duyck <aduyck@mirantis.com>
Thu, 14 Apr 2016 19:33:37 +0000 (15:33 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sat, 16 Apr 2016 23:09:13 +0000 (19:09 -0400)
commitaed069df099cd1a27900acb56bb892ec24c66ac4
tree8d25251d281421e71d2a30b9c72716885217c5e3
parentec9dcd3507f055f025a7692a1ff90ce105f84c1b
ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb

This patch updates the IP tunnel core function iptunnel_handle_offloads so
that we return an int and do not free the skb inside the function.  This
actually allows us to clean up several paths in several tunnels so that we
can free the skb at one point in the path without having to have a
secondary path if we are supporting tunnel offloads.

In addition it should resolve some double-free issues I have found in the
tunnels paths as I believe it is possible for us to end up triggering such
an event in the case of fou or gue.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/geneve.c
drivers/net/vxlan.c
include/net/ip_tunnels.h
include/net/udp_tunnel.h
net/ipv4/fou.c
net/ipv4/ip_gre.c
net/ipv4/ip_tunnel_core.c
net/ipv4/ipip.c
net/ipv6/sit.c
net/netfilter/ipvs/ip_vs_xmit.c