xfrm6: Fix the nexthdr offset in _decode_session6.
authorSteffen Klassert <steffen.klassert@secunet.com>
Mon, 8 Dec 2014 06:56:18 +0000 (07:56 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Mon, 8 Dec 2014 06:56:18 +0000 (07:56 +0100)
commitf855691975bb06373a98711e4cfe2c224244b536
tree9469cc24b2824cea15c6a61884087359f22df6fc
parentde3b7a06dfe15bda3e66a52285d422b954bb4832
xfrm6: Fix the nexthdr offset in _decode_session6.

xfrm_decode_session() was originally designed for the
usage in the receive path where the correct nexthdr offset
is stored in IP6CB(skb)->nhoff. Over time this function
spread to code that is used in the output path (netfilter,
vti) where IP6CB(skb)->nhoff is not set. As a result, we
get a wrong nexthdr and the upper layer flow informations
are wrong. This can leed to incorrect policy lookups.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv6/xfrm6_policy.c