]> git.baikalelectronics.ru Git - kernel.git/commit
l2tp: ensure sk->dst is still valid
authorFlorian Westphal <fw@strlen.de>
Fri, 25 Nov 2011 06:47:16 +0000 (06:47 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Nov 2011 20:57:36 +0000 (15:57 -0500)
commit8dd5311d36c85c3e3756c82cf390bd484dc574c2
tree2651b2efbbdc39beb00bcf3e9cd45f949952c240
parenta130ceaf4c8eb4d67bb617569cac2ffc93a0135b
l2tp: ensure sk->dst is still valid

When using l2tp over ipsec, the tunnel will hang when rekeying
occurs. Reason is that the transformer bundle attached to the dst entry
is now in STATE_DEAD and thus xfrm_output_one() drops all packets
(XfrmOutStateExpired increases).

Fix this by calling __sk_dst_check (which drops the stale dst
if xfrm dst->check callback finds that the bundle is no longer valid).

Cc: James Chapman <jchapman@katalix.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_core.c