From 0c6c7025e7824c4aba87a401bba7b2408d36710b Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Fri, 9 Aug 2024 01:55:17 -0400 Subject: [PATCH] qualcommax: NSS: refresh patches for 6.6.51 Signed-off-by: Sean Khan --- .../0600-1-qca-nss-ecm-support-CORE.patch | 8 +++---- ...00-3-qca-nss-ecm-support-net-bonding.patch | 6 ++--- ...pport-net-bonding-over-LAG-interface.patch | 24 +++++++++---------- ...-1-qca-nss-clients-add-qdisc-support.patch | 2 +- ...3-2-qca-nss-clients-add-l2tp-support.patch | 2 +- ...qca-nss-clients-add-iptunnel-support.patch | 2 +- ...a-nss-clients-iptunnel-lock-this-cpu.patch | 2 +- .../0605-1-qca-nss-cfi-support.patch | 16 ++++++------- .../0981-1-qca-skb_recycler-support.patch | 8 +++---- 9 files changed, 35 insertions(+), 35 deletions(-) diff --git a/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch b/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch index de641dad89..72acefc844 100644 --- a/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch +++ b/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch @@ -94,7 +94,7 @@ --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h -@@ -207,6 +207,11 @@ void rt6_multipath_rebalance(struct fib6 +@@ -215,6 +215,11 @@ void rt6_multipath_rebalance(struct fib6 void rt6_uncached_list_add(struct rt6_info *rt); void rt6_uncached_list_del(struct rt6_info *rt); @@ -610,7 +610,7 @@ return 0; out_remove_new_fa: -@@ -1775,6 +1781,9 @@ int fib_table_delete(struct net *net, st +@@ -1776,6 +1782,9 @@ int fib_table_delete(struct net *net, st if (fa_to_delete->fa_state & FA_S_ACCESSED) rt_cache_flush(cfg->fc_nlinfo.nl_net); @@ -620,7 +620,7 @@ fib_release_info(fa_to_delete->fa_info); alias_free_mem_rcu(fa_to_delete); return 0; -@@ -2407,6 +2416,20 @@ void __init fib_trie_init(void) +@@ -2408,6 +2417,20 @@ void __init fib_trie_init(void) 0, SLAB_PANIC | SLAB_ACCOUNT, NULL); } @@ -643,7 +643,7 @@ struct fib_table *tb; --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c -@@ -666,6 +666,7 @@ void ndisc_send_ns(struct net_device *de +@@ -668,6 +668,7 @@ void ndisc_send_ns(struct net_device *de if (skb) ndisc_send_skb(skb, daddr, saddr); } diff --git a/target/linux/qualcommax/patches-6.6/0600-3-qca-nss-ecm-support-net-bonding.patch b/target/linux/qualcommax/patches-6.6/0600-3-qca-nss-ecm-support-net-bonding.patch index 4e683e3a3e..e615943782 100644 --- a/target/linux/qualcommax/patches-6.6/0600-3-qca-nss-ecm-support-net-bonding.patch +++ b/target/linux/qualcommax/patches-6.6/0600-3-qca-nss-ecm-support-net-bonding.patch @@ -8,7 +8,7 @@ static const struct flow_dissector_key flow_keys_bonding_keys[] = { { -@@ -5872,6 +5873,11 @@ static void bond_destructor(struct net_d +@@ -5911,6 +5912,11 @@ static void bond_destructor(struct net_d if (bond->wq) destroy_workqueue(bond->wq); @@ -20,7 +20,7 @@ free_percpu(bond->rr_tx_counter); } -@@ -6421,6 +6427,13 @@ int bond_create(struct net *net, const c +@@ -6464,6 +6470,13 @@ int bond_create(struct net *net, const c bond_work_init_all(bond); @@ -37,7 +37,7 @@ --- a/include/net/bonding.h +++ b/include/net/bonding.h @@ -261,6 +261,7 @@ struct bonding { - spinlock_t ipsec_lock; + struct mutex ipsec_lock; #endif /* CONFIG_XFRM_OFFLOAD */ struct bpf_prog *xdp_prog; + u32 id;/* QCA NSS ECM bonding support */ diff --git a/target/linux/qualcommax/patches-6.6/0600-4-qca-nss-ecm-support-net-bonding-over-LAG-interface.patch b/target/linux/qualcommax/patches-6.6/0600-4-qca-nss-ecm-support-net-bonding-over-LAG-interface.patch index e02e9090db..0f0bf62fb8 100644 --- a/target/linux/qualcommax/patches-6.6/0600-4-qca-nss-ecm-support-net-bonding-over-LAG-interface.patch +++ b/target/linux/qualcommax/patches-6.6/0600-4-qca-nss-ecm-support-net-bonding-over-LAG-interface.patch @@ -227,7 +227,7 @@ /** * bond_dev_queue_xmit - Prepare skb for xmit. * -@@ -1189,6 +1204,23 @@ void bond_change_active_slave(struct bon +@@ -1228,6 +1243,23 @@ void bond_change_active_slave(struct bon if (BOND_MODE(bond) == BOND_MODE_8023AD) bond_3ad_handle_link_change(new_active, BOND_LINK_UP); @@ -251,7 +251,7 @@ if (bond_is_lb(bond)) bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP); } else { -@@ -1833,6 +1865,7 @@ int bond_enslave(struct net_device *bond +@@ -1872,6 +1904,7 @@ int bond_enslave(struct net_device *bond const struct net_device_ops *slave_ops = slave_dev->netdev_ops; struct slave *new_slave = NULL, *prev_slave; struct sockaddr_storage ss; @@ -259,7 +259,7 @@ int link_reporting; int res = 0, i; -@@ -2278,6 +2311,15 @@ int bond_enslave(struct net_device *bond +@@ -2317,6 +2350,15 @@ int bond_enslave(struct net_device *bond bond_is_active_slave(new_slave) ? "an active" : "a backup", new_slave->link != BOND_LINK_DOWN ? "an up" : "a down"); @@ -275,7 +275,7 @@ /* enslave is successful */ bond_queue_slave_event(new_slave); return 0; -@@ -2343,6 +2385,15 @@ err_undo_flags: +@@ -2382,6 +2424,15 @@ err_undo_flags: } } @@ -291,7 +291,7 @@ return res; } -@@ -2364,6 +2415,7 @@ static int __bond_release_one(struct net +@@ -2403,6 +2454,7 @@ static int __bond_release_one(struct net struct bonding *bond = netdev_priv(bond_dev); struct slave *slave, *oldcurrent; struct sockaddr_storage ss; @@ -299,7 +299,7 @@ int old_flags = bond_dev->flags; netdev_features_t old_features = bond_dev->features; -@@ -2386,6 +2438,15 @@ static int __bond_release_one(struct net +@@ -2425,6 +2477,15 @@ static int __bond_release_one(struct net bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW); @@ -315,7 +315,7 @@ bond_sysfs_slave_del(slave); /* recompute stats just before removing the slave */ -@@ -2708,6 +2769,8 @@ static void bond_miimon_commit(struct bo +@@ -2747,6 +2808,8 @@ static void bond_miimon_commit(struct bo struct slave *slave, *primary, *active; bool do_failover = false; struct list_head *iter; @@ -324,7 +324,7 @@ ASSERT_RTNL(); -@@ -2747,6 +2810,12 @@ static void bond_miimon_commit(struct bo +@@ -2786,6 +2849,12 @@ static void bond_miimon_commit(struct bo bond_set_active_slave(slave); } @@ -337,7 +337,7 @@ slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n", slave->speed == SPEED_UNKNOWN ? 0 : slave->speed, slave->duplex ? "full" : "half"); -@@ -2795,6 +2864,16 @@ static void bond_miimon_commit(struct bo +@@ -2834,6 +2903,16 @@ static void bond_miimon_commit(struct bo unblock_netpoll_tx(); } @@ -354,7 +354,7 @@ bond_set_carrier(bond); } -@@ -4047,8 +4126,219 @@ static inline u32 bond_eth_hash(struct s +@@ -4086,8 +4165,219 @@ static inline u32 bond_eth_hash(struct s return 0; ep = (struct ethhdr *)(data + mhoff); @@ -575,7 +575,7 @@ static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data, int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34) -@@ -5177,15 +5467,18 @@ static netdev_tx_t bond_3ad_xor_xmit(str +@@ -5216,15 +5506,18 @@ static netdev_tx_t bond_3ad_xor_xmit(str struct net_device *dev) { struct bonding *bond = netdev_priv(dev); @@ -601,7 +601,7 @@ } /* in broadcast mode, we send everything to all usable interfaces. */ -@@ -5435,8 +5728,9 @@ static netdev_tx_t __bond_start_xmit(str +@@ -5474,8 +5767,9 @@ static netdev_tx_t __bond_start_xmit(str return bond_xmit_roundrobin(skb, dev); case BOND_MODE_ACTIVEBACKUP: return bond_xmit_activebackup(skb, dev); diff --git a/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch b/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch index 156eaf4b24..82d9af7952 100644 --- a/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch @@ -370,7 +370,7 @@ subsys_initcall(pktsched_init); --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -1073,6 +1073,7 @@ static void __qdisc_destroy(struct Qdisc +@@ -1074,6 +1074,7 @@ static void __qdisc_destroy(struct Qdisc call_rcu(&qdisc->rcu, qdisc_free_cb); } diff --git a/target/linux/qualcommax/patches-6.6/0603-2-qca-nss-clients-add-l2tp-support.patch b/target/linux/qualcommax/patches-6.6/0603-2-qca-nss-clients-add-l2tp-support.patch index 7fa9184df2..95ae02b7ee 100644 --- a/target/linux/qualcommax/patches-6.6/0603-2-qca-nss-clients-add-l2tp-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-2-qca-nss-clients-add-l2tp-support.patch @@ -1,6 +1,6 @@ --- a/net/l2tp/l2tp_core.c +++ b/net/l2tp/l2tp_core.c -@@ -398,6 +398,31 @@ err_tlock: +@@ -403,6 +403,31 @@ err_tlock: } EXPORT_SYMBOL_GPL(l2tp_session_register); diff --git a/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch b/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch index fb51c88e18..86c9688ade 100644 --- a/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch @@ -22,7 +22,7 @@ #endif /* __NET_IP_TUNNELS_H */ --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -2412,6 +2412,26 @@ nla_put_failure: +@@ -2414,6 +2414,26 @@ nla_put_failure: return -EMSGSIZE; } diff --git a/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch b/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch index 671d8d1e37..9c80e64347 100644 --- a/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch +++ b/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch @@ -1,6 +1,6 @@ --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -2418,7 +2418,7 @@ nla_put_failure: +@@ -2420,7 +2420,7 @@ nla_put_failure: */ void ip6_update_offload_stats(struct net_device *dev, void *ptr) { diff --git a/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch b/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch index 329dee7db6..23d5089631 100644 --- a/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch +++ b/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch @@ -33,7 +33,7 @@ #include #include #include -@@ -658,6 +659,7 @@ static int esp_output(struct xfrm_state +@@ -657,6 +658,7 @@ static int esp_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -41,7 +41,7 @@ esp.inplace = true; -@@ -669,6 +671,11 @@ static int esp_output(struct xfrm_state +@@ -668,6 +670,11 @@ static int esp_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -53,7 +53,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -890,6 +897,7 @@ static int esp_input(struct xfrm_state * +@@ -889,6 +896,7 @@ static int esp_input(struct xfrm_state * u8 *iv; struct scatterlist *sg; int err = -EINVAL; @@ -61,7 +61,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) goto out; -@@ -897,6 +905,12 @@ static int esp_input(struct xfrm_state * +@@ -896,6 +904,12 @@ static int esp_input(struct xfrm_state * if (elen <= 0) goto out; @@ -84,7 +84,7 @@ #include #include #include -@@ -696,6 +697,7 @@ static int esp6_output(struct xfrm_state +@@ -695,6 +696,7 @@ static int esp6_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -92,7 +92,7 @@ esp.inplace = true; -@@ -707,6 +709,11 @@ static int esp6_output(struct xfrm_state +@@ -706,6 +708,11 @@ static int esp6_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -104,7 +104,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -934,6 +941,7 @@ static int esp6_input(struct xfrm_state +@@ -933,6 +940,7 @@ static int esp6_input(struct xfrm_state __be32 *seqhi; u8 *iv; struct scatterlist *sg; @@ -112,7 +112,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) { ret = -EINVAL; -@@ -945,6 +953,12 @@ static int esp6_input(struct xfrm_state +@@ -944,6 +952,12 @@ static int esp6_input(struct xfrm_state goto out; } diff --git a/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch b/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch index d10a0e69f0..3e15ddf49d 100644 --- a/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch +++ b/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch @@ -388,7 +388,7 @@ data = kmalloc_reserve(&size, gfp_mask, NUMA_NO_NODE, NULL); if (!data) -@@ -4865,6 +4971,14 @@ static void skb_extensions_init(void) {} +@@ -4869,6 +4975,14 @@ static void skb_extensions_init(void) {} void __init skb_init(void) { @@ -403,7 +403,7 @@ skbuff_cache = kmem_cache_create_usercopy("skbuff_head_cache", sizeof(struct sk_buff), 0, -@@ -4890,6 +5004,7 @@ void __init skb_init(void) +@@ -4894,6 +5008,7 @@ void __init skb_init(void) SKB_SMALL_HEAD_HEADROOM, NULL); skb_extensions_init(); @@ -411,7 +411,7 @@ } static int -@@ -6393,6 +6508,8 @@ static int pskb_carve_inside_header(stru +@@ -6397,6 +6512,8 @@ static int pskb_carve_inside_header(stru if (skb_pfmemalloc(skb)) gfp_mask |= __GFP_MEMALLOC; @@ -420,7 +420,7 @@ data = kmalloc_reserve(&size, gfp_mask, NUMA_NO_NODE, NULL); if (!data) return -ENOMEM; -@@ -6509,6 +6626,8 @@ static int pskb_carve_inside_nonlinear(s +@@ -6513,6 +6630,8 @@ static int pskb_carve_inside_nonlinear(s if (skb_pfmemalloc(skb)) gfp_mask |= __GFP_MEMALLOC;