Subject: Re: [FYI] xfrm: Don't lookup sk_policy for timewait sockets

From: Florian Westphal <[email-masked]>
Date: Thu, 9 Apr 2015 21:14:41 +0200

David Miller <[email-masked]> wrote:
> From: Eric Dumazet <[email-masked]>
> Date: Thu, 09 Apr 2015 02:07:41 -0700
> 
> > TCP stack never sends packets attached to a socket in timewait state.
> 
> TPROXY assigns timewait sockets to skb->sk, that's the bug.

I re-introduced this in fd158d79d33d3c under the assumption
that the input path handles skb->sk timewait sockets correctly
after all the early demux changes, afaics tcp edemux can also
assign skb->sk timewait sockets.

Also, reporter mentions 3.8 as affected which should not assign
tw sockets to skb->sk.

Even more strange, the reporters backtrace seems to indicate
crash at end of forward path.

Sebastian, can you disable tw assignment via TPROXY in 3.12 just
to see if it makes a difference?

[ not doing the assignment is safe provided you still set tproxy mark
  on the skb; policy routing will ensure local delivery ].