diff --git a/hack-6.12/259-regmap_dynamic.patch b/hack-6.12/259-regmap_dynamic.patch index cbd6c42..4f48fc0 100644 --- a/hack-6.12/259-regmap_dynamic.patch +++ b/hack-6.12/259-regmap_dynamic.patch @@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3521,3 +3522,5 @@ static int __init regmap_initcall(void) +@@ -3523,3 +3524,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/hack-6.12/721-net-add-packet-mangeling.patch b/hack-6.12/721-net-add-packet-mangeling.patch index 842c9b0..599713b 100644 --- a/hack-6.12/721-net-add-packet-mangeling.patch +++ b/hack-6.12/721-net-add-packet-mangeling.patch @@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3671,6 +3671,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/hack-6.12/902-debloat_proc.patch b/hack-6.12/902-debloat_proc.patch index 045e1a5..06b45a1 100644 --- a/hack-6.12/902-debloat_proc.patch +++ b/hack-6.12/902-debloat_proc.patch @@ -247,7 +247,7 @@ Signed-off-by: Felix Fietkau } --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void) +@@ -2197,10 +2197,12 @@ void __init init_mm_internals(void) start_shepherd_timer(); #endif #ifdef CONFIG_PROC_FS diff --git a/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch b/hack-6.12/940-revert_ip6_tunnel_use_skb_vlan_inet_prepare.patch new file mode 100644 index 0000000..da0c5e4 --- /dev/null +++ b/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 +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 +--- + 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; diff --git a/kernel-6.12 b/kernel-6.12 index c786e6e..1be2869 100644 --- a/kernel-6.12 +++ b/kernel-6.12 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.12 = .66 -LINUX_KERNEL_HASH-6.12.66 = ba3897a1c060b05a03cb4dda6f20d8c75e6f73c88b217744823a915056536eaf +LINUX_VERSION-6.12 = .68 +LINUX_KERNEL_HASH-6.12.68 = d367c7504bd4da520dd01eb08125d2d0ac088bc8af4cd56d236f2074dd4225b7 diff --git a/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch index 4cc0b3e..fdfacd8 100644 --- a/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch +++ b/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch @@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau | NETIF_F_HW_CSUM --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c -@@ -897,7 +897,7 @@ static int macvlan_hwtstamp_set(struct n +@@ -903,7 +903,7 @@ static int macvlan_hwtstamp_set(struct n static struct lock_class_key macvlan_netdev_addr_lock_key; #define ALWAYS_ON_OFFLOADS \ diff --git a/pending-6.12/834-ledtrig-libata.patch b/pending-6.12/834-ledtrig-libata.patch index b013236..373e2ec 100644 --- a/pending-6.12/834-ledtrig-libata.patch +++ b/pending-6.12/834-ledtrig-libata.patch @@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @qc: Metadata associated with the taskfile to build -@@ -4770,6 +4781,9 @@ void __ata_qc_complete(struct ata_queued +@@ -4800,6 +4811,9 @@ void __ata_qc_complete(struct ata_queued link->active_tag = ATA_TAG_POISON; ap->nr_active_links--; } @@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle /* clear exclusive status */ if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL && -@@ -5492,6 +5506,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5522,6 +5536,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); ata_force_pflags(ap); -@@ -5508,6 +5525,12 @@ void ata_port_free(struct ata_port *ap) +@@ -5538,6 +5555,12 @@ void ata_port_free(struct ata_port *ap) kfree(ap->pmp_link); kfree(ap->slave_link); ida_free(&ata_ida, ap->print_id); @@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle kfree(ap); } EXPORT_SYMBOL_GPL(ata_port_free); -@@ -5912,7 +5935,23 @@ int ata_host_register(struct ata_host *h +@@ -5942,7 +5965,23 @@ int ata_host_register(struct ata_host *h WARN_ON(1); return -EINVAL; }