]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv() 21783/head
authorHirokazu MORIKAWA <morikw2@gmail.com>
Fri, 30 Jan 2026 01:14:53 +0000 (10:14 +0900)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 30 Jan 2026 12:40:30 +0000 (13:40 +0100)
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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/generic/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch [new file with mode: 0644]

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 (file)
index 0000000..da0c5e4
--- /dev/null
@@ -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;