Willem,
On Wed, Aug 14, 2024 at 09:53:58AM GMT, Willem de Bruijn wrote:
Christian Heusel wrote:
On 24/08/14 10:10AM, Adrian Vladu wrote:
Hello,
The 6.6.y branch has the patch already in the stable queue -> https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/comm..., and it should be available in the 6.6.46 upcoming minor.
Thanks, Adrian.
Yeah it's also queued up for 6.10, which I both missed (sorry for that!). If I'm able to properly backport the patch for 6.1 I'll send that one, but my hopes are not too high that this will work ..
There are two conflicts.
The one in include/linux/virtio_net.h is resolved by first backporting commit fc8b2a6194693 ("net: more strict VIRTIO_NET_HDR_GSO_UDP_L4 validation")
We did not backport that to stable because there was some slight risk that applications might be affected. This has not surfaced.
The conflict in net/ipv4/udp_offload.c is not so easy to address. There were lots of patches between v6.1 and linus/master, with far fewer of these betwee v6.1 and linux-stable/linux-6.1.y.
BTW, we successfully cherry-picked 3 suggested[1] commits over v6.1.105 in ALT, and there is no reported problems as of yet.
89add40066f9 ("net: drop bad gso csum_start and offset in virtio_net_hdr") fc8b2a619469 ("net: more strict VIRTIO_NET_HDR_GSO_UDP_L4 validation") 9840036786d9 ("gso: fix dodgy bit handling for GSO_UDP_L4")
[1] https://lore.kernel.org/all/2024081147-altitude-luminous-19d1@gregkh/
Thanks,
We can also avoid the backport of fc8b2a6194693 and construct a custom version for this older kernel. All this is needed in virtio_net.h is
case SKB_GSO_UDP_L4:
case SKB_GSO_TCPV4:
case SKB_GSO_TCPV6:
if (skb->csum_offset != offsetof(struct tcphdr, check))
and in __udp_gso_segment
if (unlikely(skb_checksum_start(gso_skb) !=
skb_transport_header(gso_skb)))
return ERR_PTR(-EINVAL);
The Fixes tag points to a commit introduced in 6.1. 6.6 is queued up, so this is the only release for which we have to create a custom patch, right?
Let me know if you will send this, or I should?