Paolo Abeni 607f725f6f net: replace dst_cache ip6_tunnel implementation with the generic one
This also fix a potential race into the existing tunnel code, which
could lead to the wrong dst to be permanenty cached:

CPU1:					CPU2:
  <xmit on ip6_tunnel>
  <cache lookup fails>
  dst = ip6_route_output(...)
					<tunnel params are changed via nl>
					dst_cache_reset() // no effect,
							// the cache is empty
  dst_cache_set() // the wrong dst
	// is permanenty stored
	// into the cache

With the new dst implementation the above race is not possible
since the first cache lookup after dst_cache_reset will fail due
to the timestamp check

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Suggested-and-acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-16 20:21:48 -05:00
..
2015-08-25 13:37:31 -07:00
2015-05-28 11:23:20 +08:00
2015-12-03 11:32:06 -05:00
2015-05-03 21:58:01 -04:00
2015-10-21 19:36:11 -07:00
2015-12-15 23:25:20 -05:00
2016-01-05 22:25:57 -05:00
2015-02-28 16:56:51 -05:00
2015-11-03 10:52:13 -05:00
2014-05-23 16:28:53 -04:00