diff options
| author | Hirokazu MORIKAWA | 2026-01-30 01:14:53 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2026-02-03 22:26:21 +0000 |
| commit | db44ad28b62ff3bcab0f3736525048b2478a6271 (patch) | |
| tree | 0746c71e6546f6c1de432658734771284b940207 | |
| parent | 8dbd00d4cdb4fc6b6445865970a771c24fa00864 (diff) | |
| download | openwrt-db44ad28b62ff3bcab0f3736525048b2478a6271.tar.gz | |
kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()
Fixe Linux 6.12.67 broke ipip6 tunnel (DS-Lite) and MAP-E.
Upstream report: https://lists.openwall.net/netdev/2026/01/30/70
Fixes: https://github.com/openwrt/openwrt/issues/21737
Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21783
(cherry picked from commit ee0b160accecc397c124b8ddc356822be32a3320)
Link: https://github.com/openwrt/openwrt/pull/21825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
| -rw-r--r-- | target/linux/generic/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/generic/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch b/target/linux/generic/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch new file mode 100644 index 0000000000..da0c5e49d1 --- /dev/null +++ b/target/linux/generic/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch @@ -0,0 +1,27 @@ +From f4d02a22079cc198b26edd0efee5f50e5f3cf0e3 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Fri, 30 Jan 2026 13:34:20 +0100 +Subject: Revert "ip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv()" + +This reverts commit df5ffde9669314500809bc498ae73d6d3d9519ac. + +This change broke the IPv6 tunneling stack (MAP-E and DS-Lite) + +Link: https://lists.openwall.net/netdev/2026/01/30/70 +Link: https://github.com/openwrt/openwrt/issues/21737 +Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +--- + net/ipv6/ip6_tunnel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/ipv6/ip6_tunnel.c ++++ b/net/ipv6/ip6_tunnel.c +@@ -970,7 +970,7 @@ static int __ip6_tnl_rcv(struct ip6_tnl + + skb_reset_network_header(skb); + +- if (skb_vlan_inet_prepare(skb, true)) { ++ if (!pskb_inet_may_pull(skb)) { + DEV_STATS_INC(tunnel->dev, rx_length_errors); + DEV_STATS_INC(tunnel->dev, rx_errors); + goto drop; |