linux/drivers/net/vxlan
Guillaume Nault f778941913 vxlan: Pull inner IP header in vxlan_rcv().
Ensure the inner IP header is part of skb's linear data before reading
its ECN bits. Otherwise we might read garbage.
One symptom is the system erroneously logging errors like
"vxlan: non-ECT from xxx.xxx.xxx.xxx with TOS=xxxx".

Similar bugs have been fixed in geneve, ip_tunnel and ip6_tunnel (see
commit 1ca1ba465e ("geneve: make sure to pull inner header in
geneve_rx()") for example). So let's reuse the same code structure for
consistency. Maybe we'll can add a common helper in the future.

Fixes: d342894c5d ("vxlan: virtual extensible lan")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://lore.kernel.org/r/1239c8db54efec341dd6455c77e0380f58923a3c.1714495737.git.gnault@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-01 19:07:11 -07:00
..
Makefile vxlan: mdb: Add MDB control path support 2023-03-17 08:05:49 +00:00
vxlan_core.c vxlan: Pull inner IP header in vxlan_rcv(). 2024-05-01 19:07:11 -07:00
vxlan_mdb.c vxlan: mdb: Add MDB bulk deletion support 2023-12-20 11:27:21 +00:00
vxlan_multicast.c vxlan: vni filtering support on collect metadata device 2022-03-01 08:38:02 +00:00
vxlan_private.h vxlan: mdb: Add MDB bulk deletion support 2023-12-20 11:27:21 +00:00
vxlan_vnifilter.c vxlan: vnifilter: Use GFP_KERNEL instead of GFP_ATOMIC 2023-08-22 10:58:45 -07:00