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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 May 2016 23:56:02 +0000 (19:56 -0400)
commite5aed006be918af163eb397e45aa5ea6cefd5e01
tree26eeaaa452ebb326fe6aefff37ec7aaefa8aae8f
parentcb543e80f43b2db9d3adcc80d522b27829e60d82
udp: prevent skbs lingering in tunnel socket queues

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>
drivers/net/geneve.c
drivers/net/vxlan.c
net/ipv4/udp.c
net/ipv6/udp.c