ipvs: skb_orphan in case of forwarding
authorAlex Gartrell <agartrell@fb.com>
Sun, 5 Jul 2015 21:28:26 +0000 (14:28 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Oct 2015 21:43:20 +0000 (14:43 -0700)
commit64d449fd0659221fb927bf2257a750052fe1a8e3
treeb2e79a0821c7355b4e77c1db226aff0c74778726
parent4ec8fb23158797affae7993c15beba080488482f
ipvs: skb_orphan in case of forwarding

commit 71563f3414e917c62acd8e0fb0edf8ed6af63e4b upstream.

It is possible that we bind against a local socket in early_demux when we
are actually going to want to forward it.  In this case, the socket serves
no purpose and only serves to confuse things (particularly functions which
implicitly expect sk_fullsock to be true, like ip_local_out).
Additionally, skb_set_owner_w is totally broken for non full-socks.

Signed-off-by: Alex Gartrell <agartrell@fb.com>
Fixes: 41063e9dd119 ("ipv4: Early TCP socket demux.")
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netfilter/ipvs/ip_vs_xmit.c