udp: prevent skbs lingering in tunnel socket queues
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Thu, 19 May 2016 13:58:33 +0000 (15:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Jun 2016 17:18:16 +0000 (10:18 -0700)
commitab1f253ddccc235520fa4f70d32a8dd6bf8ef346
tree6987771cbaf34563f6989a7467d1d41d918c53a2
parent5b7ea922e1754107f77d146011612f2e42600cc1
udp: prevent skbs lingering in tunnel socket queues

[ Upstream commit e5aed006be918af163eb397e45aa5ea6cefd5e01 ]

In case we find a socket with encapsulation enabled we should call
the encap_recv function even if just a udp header without payload is
available. The callbacks are responsible for correctly verifying and
dropping the packets.

Also, in case the header validation fails for geneve and vxlan we
shouldn't put the skb back into the socket queue, no one will pick
them up there.  Instead we can simply discard them in the respective
encap_recv functions.

Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/geneve.c
drivers/net/vxlan.c
net/ipv4/udp.c
net/ipv6/udp.c