aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/xfrm4_protocol.c
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2014-04-07 08:08:52 +0200
committerSteffen Klassert <steffen.klassert@secunet.com>2014-04-07 10:52:38 +0200
commit5596732fa8c14139018ecda8356eabbfb599d830 (patch)
treed4d4a5178f22ee795e2e7a44b1ca49fb0dc209fc /net/ipv4/xfrm4_protocol.c
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf (diff)
downloadlinux-dev-5596732fa8c14139018ecda8356eabbfb599d830.tar.xz
linux-dev-5596732fa8c14139018ecda8356eabbfb599d830.zip
xfrm: Fix crash with ipv6 IPsec tunnel and NAT.
The ipv6 xfrm output path is not aware that packets can be rerouted by NAT to not use IPsec. We crash in this case because we expect to have a xfrm state at the dst_entry. This crash happens if the ipv6 layer does IPsec and NAT or if we have an interfamily IPsec tunnel with ipv4 NAT. We fix this by checking for a NAT rerouted packet in each address family and dst_output() to the new destination in this case. Reported-by: Martin Pelikan <martin.pelikan@gmail.com> Tested-by: Martin Pelikan <martin.pelikan@gmail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'net/ipv4/xfrm4_protocol.c')
0 files changed, 0 insertions, 0 deletions