Eric Dumazet b045d37bd6 ip_tunnel: fix panic in ip_tunnel_xmit()
Setting rt variable to NULL at the beginning of ip_tunnel_xmit()
missed possible use of this variable as a scratch value.

Also fixes a possible dst leak in tunnel_dst_check() :
If we had to call tunnel_dst_reset(), we forgot to
release the reference on dst.

Merges tunnel_dst_get()/tunnel_dst_check() into
a single tunnel_rtable_get() function for clarity.

Many thanks to Tommi for his report and tests.

Fixes: 7d442fab0a67 ("ipv4: Cache dst in tunnels")
Reported-by: Tommi Rantala <tt.rantala@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Tommi Rantala <tt.rantala@gmail.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-02-03 13:01:48 -08:00
..
2013-12-06 07:24:39 +01:00
2013-12-29 16:34:25 -05:00
2013-10-08 23:19:24 -04:00
2013-12-28 17:03:20 -05:00
2014-01-18 23:08:02 -08:00
2014-01-18 23:08:02 -08:00
2013-09-03 21:41:43 -04:00
2014-01-02 03:30:36 -05:00
2013-12-29 16:34:24 -05:00
2013-12-29 16:34:24 -05:00
2013-05-31 17:19:05 -07:00