]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bareudp: Pull inner IP header in bareudp_udp_encap_recv().
authorGuillaume Nault <gnault@redhat.com>
Wed, 11 Sep 2024 09:20:58 +0000 (11:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:10:46 +0000 (15:10 +0200)
commit2099b709b546def40f2b64d3a70a3b789be4f816
tree524f9440e60a5164fe6df37fc4da85f9eea80c83
parentb614fde13162097f23454a02e8978e76d11353de
bareudp: Pull inner IP header in bareudp_udp_encap_recv().

[ Upstream commit 45fa29c85117170b0508790f878b13ec6593c888 ]

Bareudp reads the inner IP header to get the ECN value. Therefore, it
needs to ensure that it's part of the skb's linear data.

This is similar to the vxlan and geneve fixes for that same problem:
  * commit f7789419137b ("vxlan: Pull inner IP header in vxlan_rcv().")
  * commit 1ca1ba465e55 ("geneve: make sure to pull inner header in
    geneve_rx()")

Fixes: 571912c69f0e ("net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc.")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/5205940067c40218a70fbb888080466b2fc288db.1726046181.git.gnault@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/bareudp.c