kernel: bump 5.10 to 5.10.157
authorJohn Audia <therealgraysky@proton.me>
Tue, 6 Dec 2022 18:22:57 +0000 (13:22 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 11 Dec 2022 01:43:28 +0000 (02:43 +0100)
Manually rebased:
backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch
hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch

Removed upstreamed:
pending-5.10/706-netfilter-nf_flow_table-add-missing-locking.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.157&id=b8e494240e69f91517256adcd6fda62d0671772d

Signed-off-by: John Audia <therealgraysky@proton.me>
22 files changed:
include/kernel-5.10
target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch
target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch
target/linux/generic/backport-5.10/610-v5.13-14-net-bridge-resolve-forwarding-path-for-VLAN-tag-acti.patch
target/linux/generic/backport-5.10/610-v5.13-27-netfilter-flowtable-bridge-vlan-hardware-offload-and.patch
target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch
target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch
target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch
target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch
target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch
target/linux/generic/hack-5.10/901-debloat_sock_diag.patch
target/linux/generic/hack-5.10/902-debloat_proc.patch
target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-5.10/701-00-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
target/linux/generic/pending-5.10/701-02-net-ethernet-mtk_eth_soc-add-support-for-Wireless-Et.patch
target/linux/generic/pending-5.10/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch
target/linux/generic/pending-5.10/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch
target/linux/generic/pending-5.10/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch
target/linux/generic/pending-5.10/706-netfilter-nf_flow_table-add-missing-locking.patch [deleted file]
target/linux/generic/pending-5.10/763-net-bridge-switchdev-Include-local-flag-in-FDB-notif.patch
target/linux/ramips/patches-5.10/700-net-ethernet-mediatek-support-net-labels.patch

index 16040014ff125fd73ba54ef439e72ef5616b9fd7..816fdd6d49830b794f75e926c53908af94d9a8ed 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.10 = .156
-LINUX_KERNEL_HASH-5.10.156 = 679e9964ca720027967391b61db990ceb7868e93e203f87724f18310f4955923
+LINUX_VERSION-5.10 = .157
+LINUX_KERNEL_HASH-5.10.157 = fc4cd7c0777ed53f1350e73877e9918df3c40d8e8abe93c6e1a0eb21556d327f
index 1e13f09ffd682fe9ed73cee7d7adb10757374f9a..53ddcd46e507647edb9ee0b67fa4536cebd9848d 100644 (file)
@@ -258,7 +258,7 @@ SVN-Revision: 35130
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -924,10 +925,10 @@ static void tcp_v6_send_response(const s
+@@ -926,10 +927,10 @@ static void tcp_v6_send_response(const s
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
index d98b4bfb7f58f95cb2125d3d1a201849cf2779a5..478a2e0ec2694b5956e924951d85ac7cb99f685d 100644 (file)
@@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  }
  
  static int nf_flow_table_block_setup(struct nf_flowtable *flowtable,
-@@ -1013,15 +1023,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_
+@@ -1017,15 +1027,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_
  
  int nf_flow_table_offload_init(void)
  {
index 0f09dfe06c434db2b3df2784bcb1e29e5c631e61..ef7157fba08ac9861fdfffc99b91947cb8e60d89 100644 (file)
@@ -145,7 +145,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                                        const struct net_bridge *br)
 --- a/net/bridge/br_vlan.c
 +++ b/net/bridge/br_vlan.c
-@@ -1327,6 +1327,59 @@ int br_vlan_get_pvid_rcu(const struct ne
+@@ -1350,6 +1350,59 @@ int br_vlan_get_pvid_rcu(const struct ne
  }
  EXPORT_SYMBOL_GPL(br_vlan_get_pvid_rcu);
  
index 015e899253ec1183d0a968c74fd5b0f418615687..5431f480191144c907c9684a28d0174089dc2d72 100644 (file)
@@ -57,7 +57,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                break;
 --- a/net/bridge/br_vlan.c
 +++ b/net/bridge/br_vlan.c
-@@ -1374,6 +1374,8 @@ int br_vlan_fill_forward_path_mode(struc
+@@ -1397,6 +1397,8 @@ int br_vlan_fill_forward_path_mode(struc
  
        if (path->bridge.vlan_mode == DEV_PATH_BR_VLAN_TAG)
                path->bridge.vlan_mode = DEV_PATH_BR_VLAN_KEEP;
index f8ee000eeb20c1b21dfa3cc5c4624ca62e860fcb..4448af9f6237f86f8bf682dc19940e5e6a569bec 100644 (file)
@@ -27,17 +27,21 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2299,12 +2299,17 @@ static int mtk_open(struct net_device *d
+@@ -2299,7 +2299,10 @@ static int mtk_open(struct net_device *d
  
        /* we run 2 netdevs on the same dma ring so we only bring it up once */
        if (!refcount_read(&eth->dma_refcnt)) {
 -              int err = mtk_start_dma(eth);
 +              u32 gdm_config = MTK_GDMA_TO_PDMA;
 +              int err;
++
 +              err = mtk_start_dma(eth);
                if (err)
+               if (err) {
+@@ -2307,7 +2310,10 @@ static int mtk_open(struct net_device *d
                        return err;
+               }
  
 -              mtk_gdm_config(eth, MTK_GDMA_TO_PDMA);
 +              if (eth->soc->offload_version && mtk_ppe_start(&eth->ppe) == 0)
@@ -47,7 +51,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
                napi_enable(&eth->tx_napi);
                napi_enable(&eth->rx_napi);
-@@ -2371,6 +2376,9 @@ static int mtk_stop(struct net_device *d
+@@ -2374,6 +2380,9 @@ static int mtk_stop(struct net_device *d
  
        mtk_dma_free(eth);
  
@@ -57,7 +61,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        return 0;
  }
  
-@@ -3099,6 +3107,13 @@ static int mtk_probe(struct platform_dev
+@@ -3102,6 +3111,13 @@ static int mtk_probe(struct platform_dev
                        goto err_free_dev;
        }
  
@@ -71,7 +75,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        for (i = 0; i < MTK_MAX_DEVS; i++) {
                if (!eth->netdev[i])
                        continue;
-@@ -3173,6 +3188,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3176,6 +3192,7 @@ static const struct mtk_soc_data mt7621_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7621_CLKS_BITMAP,
        .required_pctl = false,
@@ -79,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  };
  
  static const struct mtk_soc_data mt7622_data = {
-@@ -3181,6 +3197,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3184,6 +3201,7 @@ static const struct mtk_soc_data mt7622_
        .hw_features = MTK_HW_FEATURES,
        .required_clks = MT7622_CLKS_BITMAP,
        .required_pctl = false,
index b58eeacd77c0eeb4bf8505e2ae3b715c284040e4..ee0bf9db16e0d45751a5e4a09536bb08f74559e9 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2854,6 +2854,7 @@ static const struct net_device_ops mtk_n
+@@ -2858,6 +2858,7 @@ static const struct net_device_ops mtk_n
  #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = mtk_poll_controller,
  #endif
@@ -29,7 +29,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  };
  
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
-@@ -3112,6 +3113,10 @@ static int mtk_probe(struct platform_dev
+@@ -3116,6 +3117,10 @@ static int mtk_probe(struct platform_dev
                                   eth->base + MTK_ETH_PPE_BASE, 2);
                if (err)
                        goto err_free_dev;
index ba9e160dd26f3a9dfdb6d1143c127a6210bc7a74..7dbda871eaec166a30183577f7575e41bbec1c7a 100644 (file)
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (likely(napi_schedule_prep(&eth->tx_napi))) {
                __napi_schedule(&eth->tx_napi);
                mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
-@@ -2366,6 +2383,9 @@ static int mtk_stop(struct net_device *d
+@@ -2370,6 +2387,9 @@ static int mtk_stop(struct net_device *d
        napi_disable(&eth->tx_napi);
        napi_disable(&eth->rx_napi);
  
@@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
                mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
        mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
-@@ -2418,6 +2438,64 @@ err_disable_clks:
+@@ -2422,6 +2442,64 @@ err_disable_clks:
        return ret;
  }
  
@@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static int mtk_hw_init(struct mtk_eth *eth)
  {
        int i, val, ret;
-@@ -2439,9 +2517,6 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2443,9 +2521,6 @@ static int mtk_hw_init(struct mtk_eth *e
                        goto err_disable_pm;
                }
  
@@ -188,7 +188,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                /* disable delay and normal interrupt */
                mtk_tx_irq_disable(eth, ~0);
                mtk_rx_irq_disable(eth, ~0);
-@@ -2480,11 +2555,11 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2484,11 +2559,11 @@ static int mtk_hw_init(struct mtk_eth *e
        /* Enable RX VLan Offloading */
        mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
  
@@ -203,7 +203,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        mtk_tx_irq_disable(eth, ~0);
        mtk_rx_irq_disable(eth, ~0);
  
-@@ -2989,6 +3064,13 @@ static int mtk_probe(struct platform_dev
+@@ -2993,6 +3068,13 @@ static int mtk_probe(struct platform_dev
        spin_lock_init(&eth->page_lock);
        spin_lock_init(&eth->tx_irq_lock);
        spin_lock_init(&eth->rx_irq_lock);
index b0908cca9a6e5ca2b073d8bf57041b036b741ee4..d8c5ad8b83fb043c9695bef0f30f9b229dc6e619 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        return buf_size;
  }
-@@ -2626,6 +2626,35 @@ static void mtk_uninit(struct net_device
+@@ -2630,6 +2630,35 @@ static void mtk_uninit(struct net_device
        mtk_rx_irq_disable(eth, ~0);
  }
  
@@ -84,7 +84,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
  {
        struct mtk_mac *mac = netdev_priv(dev);
-@@ -2922,6 +2951,7 @@ static const struct net_device_ops mtk_n
+@@ -2926,6 +2955,7 @@ static const struct net_device_ops mtk_n
        .ndo_set_mac_address    = mtk_set_mac_address,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_do_ioctl           = mtk_do_ioctl,
@@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        .ndo_tx_timeout         = mtk_tx_timeout,
        .ndo_get_stats64        = mtk_get_stats64,
        .ndo_fix_features       = mtk_fix_features,
-@@ -3024,7 +3054,10 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3028,7 +3058,10 @@ static int mtk_add_mac(struct mtk_eth *e
        eth->netdev[id]->irq = eth->irq[0];
        eth->netdev[id]->dev.of_node = np;
  
index 80ba4a69c1397dd1ab19ac6c9a9ceb4ec7d36863..93148c97c083e6f59357860098374cd8c78af118 100644 (file)
@@ -476,7 +476,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        p->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
 +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
-@@ -1474,7 +1474,6 @@ static int bgx_init_of_phy(struct bgx *b
+@@ -1476,7 +1476,6 @@ static int bgx_init_of_phy(struct bgx *b
        device_for_each_child_node(&bgx->pdev->dev, fwn) {
                struct phy_device *pd;
                struct device_node *phy_np;
@@ -484,7 +484,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
                /* Should always be an OF node.  But if it is not, we
                 * cannot handle it, so exit the loop.
-@@ -1483,9 +1482,7 @@ static int bgx_init_of_phy(struct bgx *b
+@@ -1485,9 +1484,7 @@ static int bgx_init_of_phy(struct bgx *b
                if (!node)
                        break;
  
@@ -895,7 +895,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2600,14 +2600,11 @@ static int __init mtk_init(struct net_de
+@@ -2604,14 +2604,11 @@ static int __init mtk_init(struct net_de
  {
        struct mtk_mac *mac = netdev_priv(dev);
        struct mtk_eth *eth = mac->hw;
index 2d3fe01a755b9eb0a0b2bc0494bb002d735c4390..c368c4ae3bfd9ee8087aa5b165e1b1ebfa62a54e 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        __u8 invert;
 --- a/net/netfilter/xt_connmark.c
 +++ b/net/netfilter/xt_connmark.c
-@@ -24,12 +24,13 @@ MODULE_ALIAS("ipt_connmark");
+@@ -24,13 +24,13 @@ MODULE_ALIAS("ipt_connmark");
  MODULE_ALIAS("ip6t_connmark");
  
  static unsigned int
@@ -120,20 +120,22 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        u_int32_t new_targetmark;
        struct nf_conn *ct;
        u_int32_t newmark;
+-      u_int32_t oldmark;
 +      u_int8_t dscp;
  
        ct = nf_ct_get(skb, &ctinfo);
        if (ct == NULL)
-@@ -37,12 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
+@@ -38,13 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
  
        switch (info->mode) {
        case XT_CONNMARK_SET:
--              newmark = (ct->mark & ~info->ctmask) ^ info->ctmark;
+-              oldmark = READ_ONCE(ct->mark);
+-              newmark = (oldmark & ~info->ctmask) ^ info->ctmark;
 -              if (info->shift_dir == D_SHIFT_RIGHT)
 -                      newmark >>= info->shift_bits;
 -              else
 -                      newmark <<= info->shift_bits;
-+              newmark = ct->mark;
++              newmark = READ_ONCE(ct->mark);
 +              if (info->func & XT_CONNMARK_VALUE) {
 +                      newmark = (newmark & ~info->ctmask) ^ info->ctmark;
 +                      if (info->shift_dir == D_SHIFT_RIGHT)
@@ -151,10 +153,10 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
 +                      newmark = (newmark & ~info->ctmark) |
 +                                (info->ctmask | (dscp << info->shift_bits));
 +              }
-               if (ct->mark != newmark) {
-                       ct->mark = newmark;
+               if (READ_ONCE(ct->mark) != newmark) {
+                       WRITE_ONCE(ct->mark, newmark);
                        nf_conntrack_event_cache(IPCT_MARK, ct);
-@@ -81,20 +94,36 @@ static unsigned int
+@@ -83,20 +94,36 @@ static unsigned int
  connmark_tg(struct sk_buff *skb, const struct xt_action_param *par)
  {
        const struct xt_connmark_tginfo1 *info = par->targinfo;
@@ -193,7 +195,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  
        return connmark_tg_shift(skb, info);
  }
-@@ -165,6 +194,16 @@ static struct xt_target connmark_tg_reg[
+@@ -167,6 +194,16 @@ static struct xt_target connmark_tg_reg[
                .targetsize     = sizeof(struct xt_connmark_tginfo2),
                .destroy        = connmark_tg_destroy,
                .me             = THIS_MODULE,
index 5302c793de11ac1811513f0e94b58afa946998b7..1ff1bcabb4ac1815778a674166f6ea5de2181d49 100644 (file)
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        u64 res;
 --- a/net/ipv4/Kconfig
 +++ b/net/ipv4/Kconfig
-@@ -414,6 +414,7 @@ config INET_TUNNEL
+@@ -424,6 +424,7 @@ config INET_TUNNEL
  
  config INET_DIAG
        tristate "INET: socket monitoring interface"
index 913a5cb1321cb343e2ef4efa4aed4fd59eeb959e..5cdc22a5d5b02c1175ca4ea75319a14da52bcee8 100644 (file)
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2986,11 +2986,13 @@ static const struct seq_operations fib_r
+@@ -2988,11 +2988,13 @@ static const struct seq_operations fib_r
  
  int __net_init fib_proc_init(struct net *net)
  {
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        fib_triestat_seq_show, NULL))
                goto out2;
  
-@@ -3001,17 +3003,21 @@ int __net_init fib_proc_init(struct net
+@@ -3003,17 +3005,21 @@ int __net_init fib_proc_init(struct net
        return 0;
  
  out3:
index b0efced825d89174b72f1fee3b4aaaa454dd20d2..f2ab205f26a4845e87e08c33097c6375cbdaf5b3 100644 (file)
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2734,6 +2734,7 @@ static const char *const rtn_type_names[
+@@ -2736,6 +2736,7 @@ static const char *const rtn_type_names[
        [RTN_THROW] = "THROW",
        [RTN_NAT] = "NAT",
        [RTN_XRESOLVE] = "XRESOLVE",
index 3678530e9aa5d84b6651d6c7a7845a4308676002..75d75d0b3c680e287c5954d7b7a5689c207c774c 100644 (file)
@@ -205,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                                  MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
                                  eth->scratch_ring,
                                  eth->phy_scratch_ring);
-@@ -2502,6 +2503,8 @@ static void mtk_dim_tx(struct work_struc
+@@ -2506,6 +2507,8 @@ static void mtk_dim_tx(struct work_struc
  
  static int mtk_hw_init(struct mtk_eth *eth)
  {
@@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        int i, val, ret;
  
        if (test_and_set_bit(MTK_HW_INIT, &eth->state))
-@@ -2514,6 +2517,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2518,6 +2521,10 @@ static int mtk_hw_init(struct mtk_eth *e
        if (ret)
                goto err_disable_pm;
  
@@ -225,7 +225,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
                ret = device_reset(eth->dev);
                if (ret) {
-@@ -3063,6 +3070,35 @@ free_netdev:
+@@ -3067,6 +3074,35 @@ free_netdev:
        return err;
  }
  
@@ -261,7 +261,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int mtk_probe(struct platform_device *pdev)
  {
        struct device_node *mac_np;
-@@ -3076,6 +3112,7 @@ static int mtk_probe(struct platform_dev
+@@ -3080,6 +3116,7 @@ static int mtk_probe(struct platform_dev
        eth->soc = of_device_get_match_data(&pdev->dev);
  
        eth->dev = &pdev->dev;
@@ -269,7 +269,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        eth->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(eth->base))
                return PTR_ERR(eth->base);
-@@ -3124,6 +3161,16 @@ static int mtk_probe(struct platform_dev
+@@ -3128,6 +3165,16 @@ static int mtk_probe(struct platform_dev
                }
        }
  
index cebdbd6fee38743455de0ae92213435ca43e95cc..d1729c640cc4e51ca25624857d5ec6222e83d8a9 100644 (file)
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  static int mtk_msg_level = -1;
  module_param_named(msg_level, mtk_msg_level, int, 0);
-@@ -3193,6 +3194,22 @@ static int mtk_probe(struct platform_dev
+@@ -3197,6 +3198,22 @@ static int mtk_probe(struct platform_dev
                }
        }
  
index da5b25491485d55084ab8b0eb9809008af15e552..b33d16f0854be52871211102c977c972b7cc4b36 100644 (file)
@@ -10,16 +10,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2325,7 +2325,7 @@ static int mtk_open(struct net_device *d
-               if (err)
+@@ -2329,7 +2329,7 @@ static int mtk_open(struct net_device *d
                        return err;
+               }
  
 -              if (eth->soc->offload_version && mtk_ppe_start(&eth->ppe) == 0)
 +              if (eth->soc->offload_version && mtk_ppe_start(eth->ppe) == 0)
                        gdm_config = MTK_GDMA_TO_PPE;
  
                mtk_gdm_config(eth, gdm_config);
-@@ -2399,7 +2399,7 @@ static int mtk_stop(struct net_device *d
+@@ -2403,7 +2403,7 @@ static int mtk_stop(struct net_device *d
        mtk_dma_free(eth);
  
        if (eth->soc->offload_version)
@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        return 0;
  }
-@@ -3285,10 +3285,11 @@ static int mtk_probe(struct platform_dev
+@@ -3289,10 +3289,11 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index 5b49513d4c8cd80839a233ac37e4489b893e2b62..47905d25e7170fb64f625cbf2fc04f9a067ea1d0 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
                    (trxd.rxd2 & RX_DMA_VTAG))
                        __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
-@@ -3285,7 +3291,7 @@ static int mtk_probe(struct platform_dev
+@@ -3289,7 +3295,7 @@ static int mtk_probe(struct platform_dev
        }
  
        if (eth->soc->offload_version) {
index 477c8f156836d4b861744efc89975136f75e4292..53dfb03de934a03513a1efbb3915a82d3a3b9f79 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }
  
        return IRQ_HANDLED;
-@@ -3320,6 +3320,8 @@ static int mtk_probe(struct platform_dev
+@@ -3324,6 +3324,8 @@ static int mtk_probe(struct platform_dev
         * for NAPI to work
         */
        init_dummy_netdev(&eth->dummy_dev);
diff --git a/target/linux/generic/pending-5.10/706-netfilter-nf_flow_table-add-missing-locking.patch b/target/linux/generic/pending-5.10/706-netfilter-nf_flow_table-add-missing-locking.patch
deleted file mode 100644 (file)
index b77d71c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 19 Nov 2022 18:48:42 +0100
-Subject: [PATCH] netfilter: nf_flow_table: add missing locking
-
-nf_flow_table_block_setup and the driver TC_SETUP_FT call can modify the flow
-block cb list while they are being traversed elsewhere, causing a crash.
-Add a write lock around the calls to protect readers
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/netfilter/nf_flow_table_offload.c
-+++ b/net/netfilter/nf_flow_table_offload.c
-@@ -1015,6 +1015,7 @@ static int nf_flow_table_block_setup(str
-       struct flow_block_cb *block_cb, *next;
-       int err = 0;
-+      down_write(&flowtable->flow_block_lock);
-       switch (cmd) {
-       case FLOW_BLOCK_BIND:
-               list_splice(&bo->cb_list, &flowtable->flow_block.cb_list);
-@@ -1029,6 +1030,7 @@ static int nf_flow_table_block_setup(str
-               WARN_ON_ONCE(1);
-               err = -EOPNOTSUPP;
-       }
-+      up_write(&flowtable->flow_block_lock);
-       return err;
- }
-@@ -1085,7 +1087,9 @@ static int nf_flow_table_offload_cmd(str
-       nf_flow_table_block_offload_init(bo, dev_net(dev), cmd, flowtable,
-                                        extack);
-+      down_write(&flowtable->flow_block_lock);
-       err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_FT, bo);
-+      up_write(&flowtable->flow_block_lock);
-       if (err < 0)
-               return err;
index 41374c88df61235bb8058ae91ffb1c1be96b36f6..434288c3efbbb534694454d0f6ee32f0313b87a6 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 
 --- a/include/net/switchdev.h
 +++ b/include/net/switchdev.h
-@@ -224,6 +224,7 @@ struct switchdev_notifier_fdb_info {
+@@ -226,6 +226,7 @@ struct switchdev_notifier_fdb_info {
        const unsigned char *addr;
        u16 vid;
        u8 added_by_user:1,
index f86daff7d659dfd770a2b4bc59d88dd52d37dd05..8eeecfc2595b0efcb4c4909507fbd55ac2381ab5 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: RenĂ© van Dorst <opensource@vdorst.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2975,6 +2975,7 @@ static const struct net_device_ops mtk_n
+@@ -2979,6 +2979,7 @@ static const struct net_device_ops mtk_n
  
  static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
  {
@@ -22,7 +22,7 @@ Signed-off-by: RenĂ© van Dorst <opensource@vdorst.com>
        const __be32 *_id = of_get_property(np, "reg", NULL);
        phy_interface_t phy_mode;
        struct phylink *phylink;
-@@ -3070,6 +3071,9 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3074,6 +3075,9 @@ static int mtk_add_mac(struct mtk_eth *e
        else
                eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;