mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-09 14:33:00 +00:00
3eb08538c4
This commit makes three changes all needed for the update of the 6.6 kernel. 1. Upstream kernel bump to 6.6.46 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.46 Manually rebased: bcm27xx/patches-6.6/950-0320-spi-spidev-Restore-loading-from-Device-Tree.patch All other patches automatically rebased. 2. Adjusted the following for new ksym[1] enabling it: armsr/config-6.6 bcm27xx/bcm2712/config-6.6 3. Added a fix to receiving fraglist GSO packets: generic/pending-6.6/601-udp-fix-receiving-fraglist-GSO_packets.patch[2] 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v6.6.46&id2=v6.6.45 2. https://marc.info/?l=linux-netdev&m=172407994500599&w=2 Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/16173 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
27 lines
1000 B
Diff
27 lines
1000 B
Diff
From 32412565c27d63e15f25e76d86ee04c29b201b96 Mon Sep 17 00:00:00 2001
|
|
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Mon, 19 Aug 2024 15:20:42 +0200
|
|
Subject: [PATCH] udp: fix receiving fraglist GSO packets
|
|
|
|
When assembling fraglist GSO packets, udp4_gro_complete does not set
|
|
skb->csum_start, which makes the extra validation in __udp_gso_segment fail.
|
|
|
|
Fixes: 89add40066f9 ("net: drop bad gso csum_start and offset in virtio_net_hdr")
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
net/ipv4/udp_offload.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/net/ipv4/udp_offload.c
|
|
+++ b/net/ipv4/udp_offload.c
|
|
@@ -279,7 +279,8 @@ struct sk_buff *__udp_gso_segment(struct
|
|
return ERR_PTR(-EINVAL);
|
|
|
|
if (unlikely(skb_checksum_start(gso_skb) !=
|
|
- skb_transport_header(gso_skb)))
|
|
+ skb_transport_header(gso_skb) &&
|
|
+ !(skb_shinfo(gso_skb)->gso_type & SKB_GSO_FRAGLIST)))
|
|
return ERR_PTR(-EINVAL);
|
|
|
|
/* We don't know if egress device can segment and checksum the packet
|