From c252e6d3b1a230c6fbedcef36e77b6b98c3942db Mon Sep 17 00:00:00 2001 From: John Audia Date: Mon, 13 Apr 2026 07:38:27 -0400 Subject: [PATCH] kernel: bump 6.18 to 6.18.22 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.22 Removed upstreamed: ramips/patches-6.18/100-mips-ralink-update-CPU-clock-index.patch[1] Manually rebased: pending-6.18/361-Revert-MIPS-mm-Prevent-a-TLB-shutdown-on-initial-uni.patch All patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.22&id=a99f94e4f28a3c289bd397d521de1187b6320158 Build system: x86/64 Build-tested: x86/64-glibc Run-tested: x86/64-glibc Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/22890 Signed-off-by: Hauke Mehrtens --- .../900-unaligned_access_hacks.patch | 2 +- .../721-net-add-packet-mangeling.patch | 6 +- target/linux/generic/kernel-6.18 | 4 +- ...malloc-tlb_vpn-array-to-avoid-stack-.patch | 2 +- ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 28 ++++----- ...0211_ptr-even-with-no-CFG82111-suppo.patch | 2 +- ...iatek-fix-ppe-flow-accounting-for-L2.patch | 2 +- ...Fix-DMA-allocations-on-57766-devices.patch | 2 +- ...0-mips-ralink-update-CPU-clock-index.patch | 58 ------------------- 9 files changed, 24 insertions(+), 82 deletions(-) delete mode 100644 target/linux/ramips/patches-6.18/100-mips-ralink-update-CPU-clock-index.patch diff --git a/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch index 8d55d231de..f2f20eedab 100644 --- a/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch @@ -295,7 +295,7 @@ SVN-Revision: 35130 &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -852,12 +852,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -853,12 +853,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { diff --git a/target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch index 78f52ff3c6..0db4849715 100644 --- a/target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau }; /* Specifies the type of the struct net_device::ml_priv pointer */ -@@ -2241,6 +2242,11 @@ struct net_device { +@@ -2244,6 +2245,11 @@ struct net_device { const struct tlsdev_ops *tlsdev_ops; #endif @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau unsigned int operstate; unsigned char link_mode; -@@ -2317,6 +2323,10 @@ struct net_device { +@@ -2320,6 +2326,10 @@ struct net_device { struct psp_dev __rcu *psp_dev; #endif @@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3853,6 +3853,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3870,6 +3870,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active_rcu(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/kernel-6.18 b/target/linux/generic/kernel-6.18 index 67a4c93f22..f5fce6483f 100644 --- a/target/linux/generic/kernel-6.18 +++ b/target/linux/generic/kernel-6.18 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.18 = .21 -LINUX_KERNEL_HASH-6.18.21 = 1c38214fb137bae85b82b82537b5987358621b915ab2a8e4f09e60697c19474f +LINUX_VERSION-6.18 = .22 +LINUX_KERNEL_HASH-6.18.22 = a23c92faf3657385c2c6b5f4edd8f81b808907ebe603fa30699eae224da55f59 diff --git a/target/linux/generic/pending-6.18/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch b/target/linux/generic/pending-6.18/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch index 522fccd8e2..72c422e0e9 100644 --- a/target/linux/generic/pending-6.18/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch +++ b/target/linux/generic/pending-6.18/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch @@ -39,7 +39,7 @@ This reverts commit 63a93d1cd6077d79735f804f5a4957bfb240280c. - tlb_vpn_size = tlbsize * sizeof(*tlb_vpns); - tlb_vpns = (use_slab ? -- kmalloc(tlb_vpn_size, GFP_KERNEL) : +- kmalloc(tlb_vpn_size, GFP_ATOMIC) : - memblock_alloc_raw(tlb_vpn_size, sizeof(*tlb_vpns))); - if (WARN_ON(!tlb_vpns)) - return; /* Pray local_flush_tlb_all() is good enough. */ diff --git a/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index ab9f013eca..9e2373bdfa 100644 --- a/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -167,7 +167,7 @@ Signed-off-by: Steven Barth if (dev == ip6n->fb_tnl_dev) RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); else -@@ -790,6 +815,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, +@@ -795,6 +820,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, } EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl); @@ -275,7 +275,7 @@ Signed-off-by: Steven Barth static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb, const struct tnl_ptk_info *tpi, struct metadata_dst *tun_dst, -@@ -855,6 +981,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl +@@ -860,6 +986,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl memset(skb->cb, 0, sizeof(struct inet6_skb_parm)); @@ -303,7 +303,7 @@ Signed-off-by: Steven Barth __skb_tunnel_rx(skb, tunnel->dev, tunnel->net); err = dscp_ecn_decapsulate(tunnel, ipv6h, skb); -@@ -1004,6 +1151,7 @@ static void init_tel_txopt(struct ipv6_t +@@ -1009,6 +1156,7 @@ static void init_tel_txopt(struct ipv6_t opt->ops.opt_nflen = 8; } @@ -311,7 +311,7 @@ Signed-off-by: Steven Barth /** * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own * @t: the outgoing tunnel device -@@ -1293,6 +1441,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str +@@ -1298,6 +1446,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str u8 protocol) { struct ip6_tnl *t = netdev_priv(dev); @@ -319,7 +319,7 @@ Signed-off-by: Steven Barth struct ipv6hdr *ipv6h; const struct iphdr *iph; int encap_limit = -1; -@@ -1392,6 +1541,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str +@@ -1397,6 +1546,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL); dsfield = INET_ECN_encapsulate(dsfield, orig_dsfield); @@ -338,7 +338,7 @@ Signed-off-by: Steven Barth if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6)) return -1; -@@ -1545,6 +1706,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1550,6 +1711,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.link = p->link; t->parms.proto = p->proto; t->parms.fwmark = p->fwmark; @@ -353,7 +353,7 @@ Signed-off-by: Steven Barth dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); } -@@ -1590,6 +1759,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1595,6 +1764,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -361,7 +361,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1973,6 +2143,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1978,6 +2148,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -377,7 +377,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -2010,6 +2189,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -2015,6 +2194,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -424,7 +424,7 @@ Signed-off-by: Steven Barth } static int ip6_tnl_newlink(struct net_device *dev, -@@ -2118,6 +2337,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2123,6 +2342,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -437,7 +437,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2147,6 +2372,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2152,6 +2377,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -462,7 +462,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2154,6 +2397,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2159,6 +2402,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -472,7 +472,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2163,9 +2409,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2168,9 +2414,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -501,7 +501,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2205,6 +2469,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2210,6 +2474,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, diff --git a/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch b/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch index fb893419cc..3b45118b96 100644 --- a/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch +++ b/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch @@ -17,7 +17,7 @@ Signed-off-by: Christian Marangi --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2301,7 +2301,7 @@ struct net_device { +@@ -2304,7 +2304,7 @@ struct net_device { #if IS_ENABLED(CONFIG_AX25) struct ax25_dev __rcu *ax25_ptr; #endif diff --git a/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch b/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch index 9141fa69b0..3f0354cd96 100644 --- a/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch +++ b/target/linux/generic/pending-6.18/736-04-net-ethernet-mediatek-fix-ppe-flow-accounting-for-L2.patch @@ -309,7 +309,7 @@ Signed-off-by: Felix Fietkau seq_printf(m, "%05x %s %7s", i, --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c -@@ -522,24 +522,21 @@ static int +@@ -541,24 +541,21 @@ static int mtk_flow_offload_stats(struct mtk_eth *eth, struct flow_cls_offload *f) { struct mtk_flow_entry *entry; diff --git a/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch b/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch index 3b923418e0..86bd399a36 100644 --- a/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch +++ b/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch @@ -17,7 +17,7 @@ Signed-off-by: Pavan Chebbi --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -17828,8 +17828,10 @@ static int tg3_init_one(struct pci_dev * +@@ -17839,8 +17839,10 @@ static int tg3_init_one(struct pci_dev * } else persist_dma_mask = dma_mask = DMA_BIT_MASK(64); diff --git a/target/linux/ramips/patches-6.18/100-mips-ralink-update-CPU-clock-index.patch b/target/linux/ramips/patches-6.18/100-mips-ralink-update-CPU-clock-index.patch deleted file mode 100644 index c19771ee87..0000000000 --- a/target/linux/ramips/patches-6.18/100-mips-ralink-update-CPU-clock-index.patch +++ /dev/null @@ -1,58 +0,0 @@ -From ef57412d070fe663a66a5473ffc708bd89671259 Mon Sep 17 00:00:00 2001 -From: Signed-off-by: Shiji Yang -Date: Sun, 2 Feb 2025 17:10:14 +0800 -Subject: [PATCH] mips: ralink: update CPU clock index - -Some clock indexes have been reorganized in commit d34db686a3d7 -("clk: ralink: mtmips: fix clocks probe order in oldest ralink SoCs"). -Update CPU clock index to match the clock driver changes. - -Signed-off-by: Shiji Yang -Co-authored-by: Mieczyslaw Nalewaj ---- - arch/mips/ralink/clk.c | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - ---- a/arch/mips/ralink/clk.c -+++ b/arch/mips/ralink/clk.c -@@ -19,27 +19,22 @@ - - static const char *clk_cpu(int *idx) - { -+ *idx = 1; -+ - switch (ralink_soc) { - case RT2880_SOC: -- *idx = 0; - return "ralink,rt2880-sysc"; - case RT3883_SOC: -- *idx = 0; - return "ralink,rt3883-sysc"; - case RT305X_SOC_RT3050: -- *idx = 0; - return "ralink,rt3050-sysc"; - case RT305X_SOC_RT3052: -- *idx = 0; - return "ralink,rt3052-sysc"; - case RT305X_SOC_RT3350: -- *idx = 1; - return "ralink,rt3350-sysc"; - case RT305X_SOC_RT3352: -- *idx = 1; - return "ralink,rt3352-sysc"; - case RT305X_SOC_RT5350: -- *idx = 1; - return "ralink,rt5350-sysc"; - case MT762X_SOC_MT7620A: - *idx = 2; -@@ -48,10 +43,8 @@ static const char *clk_cpu(int *idx) - *idx = 2; - return "ralink,mt7620-sysc"; - case MT762X_SOC_MT7628AN: -- *idx = 1; - return "ralink,mt7628-sysc"; - case MT762X_SOC_MT7688: -- *idx = 1; - return "ralink,mt7688-sysc"; - default: - *idx = -1;