Files
android_kernel_xiaomi_sm8450/net
hannes@stressinduktion.org f60e5990d9 ipv6: protect skb->sk accesses from recursive dereference inside the stack
We should not consult skb->sk for output decisions in xmit recursion
levels > 0 in the stack. Otherwise local socket settings could influence
the result of e.g. tunnel encapsulation process.

ipv6 does not conform with this in three places:

1) ip6_fragment: we do consult ipv6_npinfo for frag_size

2) sk_mc_loop in ipv6 uses skb->sk and checks if we should
   loop the packet back to the local socket

3) ip6_skb_dst_mtu could query the settings from the user socket and
   force a wrong MTU

Furthermore:
In sk_mc_loop we could potentially land in WARN_ON(1) if we use a
PF_PACKET socket ontop of an IPv6-backed vxlan device.

Reuse xmit_recursion as we are currently only interested in protecting
tunnel devices.

Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-06 16:12:49 -04:00
..
2015-03-13 15:55:41 +10:30
2014-11-24 04:28:48 -05:00
2014-12-09 16:29:03 -05:00
2014-11-24 04:28:48 -05:00
2015-03-31 16:06:50 -04:00
2014-11-24 04:28:48 -05:00
2014-11-24 04:28:48 -05:00
2015-02-04 09:15:18 +01:00
2015-03-12 00:28:01 -04:00
2014-11-24 04:28:48 -05:00
2015-03-31 23:10:08 -04:00
2015-01-28 23:15:07 -08:00
2014-10-07 20:28:44 -04:00
2014-11-24 04:28:48 -05:00