kernel: bump 5.10 to 5.10.27
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tue, 30 Mar 2021 21:01:27 +0000 (22:01 +0100)
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Sat, 3 Apr 2021 20:07:22 +0000 (21:07 +0100)
Use update_kernel to refresh all patches, required manual updates to:

610-netfilter_match_bypass_default_checks.patch
611-netfilter_match_bypass_default_table.patch
762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch
764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch

Run-tested: x86_64

Nothing screamed out but any funny business with linux bridging should
suspect this update first.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
21 files changed:
include/kernel-version.mk
target/linux/bmips/patches-5.10/050-v5.13-net-dsa-b53-support-legacy-tags.patch
target/linux/bmips/patches-5.10/510-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch
target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch
target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch
target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch
target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch
target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch
target/linux/generic/hack-5.10/221-module_exports.patch
target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
target/linux/generic/pending-5.10/201-extra_optimization.patch
target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch
target/linux/generic/pending-5.10/611-netfilter_match_bypass_default_table.patch
target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-5.10/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/pending-5.10/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch
target/linux/generic/pending-5.10/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch
target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch
target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch
target/linux/rockchip/patches-5.10/002-net-usb-r8152-add-LED-configuration-from-OF.patch

index 4100d90b3b14e2baece857c9231d00c904db6511..2e29f637bbdac11755e8dd2508c3847b5379d8db 100644 (file)
@@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
 endif
 
 LINUX_VERSION-5.4 = .109
-LINUX_VERSION-5.10 = .26
+LINUX_VERSION-5.10 = .27
 
 LINUX_KERNEL_HASH-5.4.109 = ac6af4562717d030266fcddb0a3c44598610ca8c9c3a654725f58b9cbd61b7ee
-LINUX_KERNEL_HASH-5.10.26 = fc532833f1ac167f363f1b9de85db39d2d635ab516f66dc381bdd70804601482
+LINUX_KERNEL_HASH-5.10.27 = d99dc9662951299c53a0a8d8c8d0a72a16ff861d20e927c0f9b14f63282d69d9
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 269c2895af48d58fbc40e364f5b07a7842068232..18cd09ff0e4848e1180498792fba0dded79f1c81 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
          This driver adds support for Broadcom managed switch chips. It supports
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2028,15 +2028,17 @@ enum dsa_tag_protocol b53_get_tag_protoc
+@@ -2021,15 +2021,17 @@ enum dsa_tag_protocol b53_get_tag_protoc
  {
        struct b53_device *dev = ds->priv;
  
index 0b69f45360e325a112606bf52964a3c2edcdf724..41655231fa476a2fa59ae46c76c0c11403f95a29 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
 
 --- a/drivers/net/dsa/b53/b53_common.c
 +++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1155,6 +1155,36 @@ static void b53_force_port_config(struct
+@@ -1148,6 +1148,36 @@ static void b53_force_port_config(struct
        b53_write8(dev, B53_CTRL_PAGE, off, reg);
  }
  
@@ -50,7 +50,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
  static void b53_adjust_link(struct dsa_switch *ds, int port,
                            struct phy_device *phydev)
  {
-@@ -1181,6 +1211,9 @@ static void b53_adjust_link(struct dsa_s
+@@ -1174,6 +1204,9 @@ static void b53_adjust_link(struct dsa_s
                              tx_pause, rx_pause);
        b53_force_link(dev, port, phydev->link);
  
@@ -60,7 +60,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
        if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
                if (port == 8)
                        off = B53_RGMII_CTRL_IMP;
-@@ -1373,6 +1406,9 @@ void b53_phylink_mac_link_up(struct dsa_
+@@ -1366,6 +1399,9 @@ void b53_phylink_mac_link_up(struct dsa_
  {
        struct b53_device *dev = ds->priv;
  
index a1f0d9aa96d030788180a5c233911af9d77ff6d9..bb99e4ddbfa47189017ca16048fd7aa0fa09fbbc 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -506,7 +506,7 @@ KBUILD_LDFLAGS_MODULE :=
+@@ -507,7 +507,7 @@ KBUILD_LDFLAGS_MODULE :=
  KBUILD_LDFLAGS :=
  CLANG_FLAGS :=
  
index d0b7c9bc2c76256fb6905a87bf825206b5280749..366f18d94d1b5c7d7a99280011afe5664956eb71 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6740,15 +6740,10 @@ void __netif_napi_del(struct napi_struct
+@@ -6752,15 +6752,10 @@ void __netif_napi_del(struct napi_struct
  }
  EXPORT_SYMBOL(__netif_napi_del);
  
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        weight = n->weight;
  
        /* This NAPI_STATE_SCHED test is for avoiding a race
-@@ -6768,7 +6763,7 @@ static int napi_poll(struct napi_struct
+@@ -6780,7 +6775,7 @@ static int napi_poll(struct napi_struct
                            n->poll, work, weight);
  
        if (likely(work < weight))
@@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
        /* Drivers must not modify the NAPI state if they
         * consume the entire weight.  In such cases this code
-@@ -6777,7 +6772,7 @@ static int napi_poll(struct napi_struct
+@@ -6789,7 +6784,7 @@ static int napi_poll(struct napi_struct
         */
        if (unlikely(napi_disable_pending(n))) {
                napi_complete(n);
@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        }
  
        if (n->gro_bitmask) {
-@@ -6795,12 +6790,29 @@ static int napi_poll(struct napi_struct
+@@ -6807,12 +6802,29 @@ static int napi_poll(struct napi_struct
        if (unlikely(!list_empty(&n->poll_list))) {
                pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
                             n->dev ? n->dev->name : "backlog");
index 22075cb9bcc76997d50dca42ffab0f95e61f51a3..32f22b392c396068a1d8f6a0a79359d75314d38b 100644 (file)
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  #include <linux/bpf.h>
  #include <linux/bpf_trace.h>
  #include <net/net_namespace.h>
-@@ -1488,6 +1489,27 @@ void netdev_notify_peers(struct net_devi
+@@ -1500,6 +1501,27 @@ void netdev_notify_peers(struct net_devi
  }
  EXPORT_SYMBOL(netdev_notify_peers);
  
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
  {
        const struct net_device_ops *ops = dev->netdev_ops;
-@@ -4242,6 +4264,21 @@ int gro_normal_batch __read_mostly = 8;
+@@ -4254,6 +4276,21 @@ int gro_normal_batch __read_mostly = 8;
  static inline void ____napi_schedule(struct softnet_data *sd,
                                     struct napi_struct *napi)
  {
@@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        list_add_tail(&napi->poll_list, &sd->poll_list);
        __raise_softirq_irqoff(NET_RX_SOFTIRQ);
  }
-@@ -6693,6 +6730,12 @@ void netif_napi_add(struct net_device *d
+@@ -6705,6 +6742,12 @@ void netif_napi_add(struct net_device *d
        set_bit(NAPI_STATE_NPSVC, &napi->state);
        list_add_rcu(&napi->dev_list, &dev->napi_list);
        napi_hash_add(napi);
@@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(netif_napi_add);
  
-@@ -6709,9 +6752,28 @@ void napi_disable(struct napi_struct *n)
+@@ -6721,9 +6764,28 @@ void napi_disable(struct napi_struct *n)
        hrtimer_cancel(&n->timer);
  
        clear_bit(NAPI_STATE_DISABLE, &n->state);
@@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  static void flush_gro_hash(struct napi_struct *napi)
  {
        int i;
-@@ -6737,6 +6799,11 @@ void __netif_napi_del(struct napi_struct
+@@ -6749,6 +6811,11 @@ void __netif_napi_del(struct napi_struct
  
        flush_gro_hash(napi);
        napi->gro_bitmask = 0;
@@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  }
  EXPORT_SYMBOL(__netif_napi_del);
  
-@@ -6818,6 +6885,51 @@ static int napi_poll(struct napi_struct
+@@ -6830,6 +6897,51 @@ static int napi_poll(struct napi_struct
        return work;
  }
  
index ddcdfe7bff9361d9f91f1d6d21ad7355ed7f8083..e72d5eeca4062dc3d63fbeffc28d972ff43611e0 100644 (file)
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
   *    @n: NAPI context
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4268,8 +4268,9 @@ static inline void ____napi_schedule(str
+@@ -4280,8 +4280,9 @@ static inline void ____napi_schedule(str
  
        if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
                /* Paired with smp_mb__before_atomic() in
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
                 * wake_up_process() when it's not NULL.
                 */
                thread = READ_ONCE(napi->thread);
-@@ -6703,6 +6704,49 @@ static void init_gro_hash(struct napi_st
+@@ -6715,6 +6716,49 @@ static void init_gro_hash(struct napi_st
        napi->gro_bitmask = 0;
  }
  
index e0fd09b01283dee5096936c9cad2756f03ed65b9..dddc35918e1b84b351455bb82946ee1b520b6749 100644 (file)
@@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  enum gro_result {
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4275,6 +4275,8 @@ static inline void ____napi_schedule(str
+@@ -4287,6 +4287,8 @@ static inline void ____napi_schedule(str
                 */
                thread = READ_ONCE(napi->thread);
                if (thread) {
@@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
                        wake_up_process(thread);
                        return;
                }
-@@ -6495,7 +6497,8 @@ bool napi_complete_done(struct napi_stru
+@@ -6507,7 +6509,8 @@ bool napi_complete_done(struct napi_stru
  
                WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
  
@@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
  
                /* If STATE_MISSED was set, leave STATE_SCHED set,
                 * because we will call napi->poll() one more time.
-@@ -6931,16 +6934,25 @@ static int napi_poll(struct napi_struct
+@@ -6943,16 +6946,25 @@ static int napi_poll(struct napi_struct
  
  static int napi_thread_wait(struct napi_struct *napi)
  {
index 655cc61560863da21b35903a00e90333b408b478..07885408f198bd481ad46b82790cdf5e8bbecb11 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /* Align . to a 8 byte boundary equals to maximum function alignment. */
  #define ALIGN_FUNCTION()  . = ALIGN(8)
  
-@@ -470,14 +480,14 @@
+@@ -473,14 +483,14 @@
        /* Kernel symbol table: Normal symbols */                       \
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
                __start___ksymtab = .;                                  \
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                __stop___ksymtab_gpl = .;                               \
        }                                                               \
                                                                        \
-@@ -539,7 +549,7 @@
+@@ -542,7 +552,7 @@
                                                                        \
        /* Kernel symbol table: strings */                              \
          __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {       \
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }                                                               \
                                                                        \
        /* __*init sections */                                          \
-@@ -1014,6 +1024,8 @@
+@@ -1017,6 +1027,8 @@
  
  #define COMMON_DISCARDS                                                       \
        SANITIZER_DISCARDS                                              \
index c0482dfee5a6fe072aa229773f7e86434bbd9603..4375e727cf60c46180650520ac922b1f15481788 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -7026,7 +7026,7 @@ static void __ref alloc_node_mem_map(str
+@@ -7027,7 +7027,7 @@ static void __ref alloc_node_mem_map(str
        if (pgdat == NODE_DATA(0)) {
                mem_map = NODE_DATA(0)->node_mem_map;
                if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
index 53486680a254548b8de70c063df96d7d1de91316..df973258ab6d294681b26a2ce73491196aa18e8f 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -733,11 +733,11 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
+@@ -734,11 +734,11 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
  KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
index 04f9ba2f08b56d0794a90ba231eae48930c2396f..457703121cdb77e13b44e8f9e0f0146916b451e5 100644 (file)
@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                return -ENOMEM;
  
 @@ -818,6 +846,7 @@ copy_entries_to_user(unsigned int total_
-       const struct xt_table_info *private = xt_table_get_private_protected(table);
+       const struct xt_table_info *private = table->private;
        int ret = 0;
        const void *loc_cpu_entry;
 +      u8 flags;
index 1792534835fe31093fd5026500f1f33215462aba..baf738a8d20898b8a0080c08fed0b8d17dc89069 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        /* Initialization */
 +      WARN_ON(!(table->valid_hooks & (1 << hook)));
 +      local_bh_disable();
-+      private = rcu_access_pointer(table->private);
++      private = READ_ONCE(table->private); /* Address dependency. */
 +      cpu        = smp_processor_id();
 +      table_base = private->entries;
 +
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 -      WARN_ON(!(table->valid_hooks & (1 << hook)));
 -      local_bh_disable();
        addend = xt_write_recseq_begin();
--      private = rcu_access_pointer(table->private);
+-      private = READ_ONCE(table->private); /* Address dependency. */
 -      cpu        = smp_processor_id();
 -      table_base = private->entries;
        jumpstack  = (struct ipt_entry **)private->jumpstack[cpu];
index fda982fce9eb9a88b7ba14a10ef70664f4fc73b5..625cc430e294122ff825319ac9795519e38f1213 100644 (file)
@@ -119,7 +119,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void           ip6_link_failure(struct sk_buff *skb);
  static void           ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk,
                                           struct sk_buff *skb, u32 mtu,
-@@ -327,6 +329,18 @@ static const struct rt6_info ip6_prohibi
+@@ -309,6 +311,18 @@ static const struct rt6_info ip6_prohibi
        .rt6i_flags     = (RTF_REJECT | RTF_NONEXTHOP),
  };
  
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__refcnt       = ATOMIC_INIT(1),
-@@ -1048,6 +1062,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1030,6 +1044,7 @@ static const int fib6_prop[RTN_MAX + 1]
        [RTN_BLACKHOLE] = -EINVAL,
        [RTN_UNREACHABLE] = -EHOSTUNREACH,
        [RTN_PROHIBIT]  = -EACCES,
@@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        [RTN_THROW]     = -EAGAIN,
        [RTN_NAT]       = -EINVAL,
        [RTN_XRESOLVE]  = -EINVAL,
-@@ -1083,6 +1098,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1065,6 +1080,10 @@ static void ip6_rt_init_dst_reject(struc
                rt->dst.output = ip6_pkt_prohibit_out;
                rt->dst.input = ip6_pkt_prohibit;
                break;
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -4432,6 +4451,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4414,6 +4433,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -4912,7 +4942,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4894,7 +4924,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6080,6 +6111,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6062,6 +6093,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6091,6 +6124,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6073,6 +6106,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -6282,6 +6316,8 @@ static int __net_init ip6_route_net_init
+@@ -6264,6 +6298,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
                                               sizeof(*net->ipv6.ip6_prohibit_entry),
                                               GFP_KERNEL);
-@@ -6292,11 +6328,21 @@ static int __net_init ip6_route_net_init
+@@ -6274,11 +6310,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
-@@ -6323,6 +6369,8 @@ out:
+@@ -6305,6 +6351,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6342,6 +6390,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6324,6 +6372,7 @@ static void __net_exit ip6_route_net_exi
        kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6419,6 +6468,9 @@ void __init ip6_route_init_special_entri
+@@ -6401,6 +6450,9 @@ void __init ip6_route_init_special_entri
        init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
        init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
        init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
index 3e2aa368d2336899f24f362b8bc5ed662b65c7a2..4e1ae4b2c88ccf0efc99c67c1eb5aeac57983f95 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        __u16                   tc_index;       /* traffic control index */
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6005,6 +6005,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6017,6 +6017,9 @@ static enum gro_result dev_gro_receive(s
        int same_flow;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                goto normal;
  
-@@ -7973,6 +7976,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7985,6 +7988,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *upper_priv, void *upper_info,
-@@ -8024,6 +8069,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8036,6 +8081,7 @@ static int __netdev_upper_dev_link(struc
        if (ret)
                return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -8120,6 +8166,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8132,6 +8178,7 @@ static void __netdev_upper_dev_unlink(st
  
        __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
                                      &changeupper_info.info);
  
-@@ -8906,6 +8953,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8918,6 +8965,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index 69b82c263506e6780ee6a877b1f39c07dabb71a0..9aa54082a51e78388367b13993fdb05480ecdea6 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1642,6 +1642,9 @@ void phy_detach(struct phy_device *phyde
+@@ -1651,6 +1651,9 @@ void phy_detach(struct phy_device *phyde
        struct module *ndev_owner = NULL;
        struct mii_bus *bus;
  
@@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                        sysfs_remove_link(&dev->dev.kobj, "phydev");
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -759,6 +759,12 @@ struct phy_driver {
+@@ -761,6 +761,12 @@ struct phy_driver {
        /** @handle_interrupt: Override default interrupt handling */
        irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
  
index 081d002c7ecad07e0b28db00a3009f1e13660db7..fbc8342b0e05ef63bb3674818873e24ec687de52 100644 (file)
@@ -15,7 +15,7 @@ Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
 
 --- a/net/bridge/br_switchdev.c
 +++ b/net/bridge/br_switchdev.c
-@@ -102,46 +102,27 @@ int br_switchdev_set_port_flag(struct ne
+@@ -102,25 +102,16 @@ int br_switchdev_set_port_flag(struct ne
        return 0;
  }
  
@@ -47,6 +47,8 @@ Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
 +
        if (!fdb->dst)
                return;
+       if (test_bit(BR_FDB_LOCAL, &fdb->flags))
+@@ -128,22 +119,12 @@ br_switchdev_fdb_notify(const struct net
  
        switch (type) {
        case RTM_DELNEIGH:
index 2317989fa5bb87f7248c5723dec244e546ca5097..0e773888df1b281019d64cd0c4a7e92b0bec8081 100644 (file)
@@ -70,14 +70,16 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
  {
        struct switchdev_notifier_fdb_info info = {
                .addr = fdb->key.addr.addr,
-@@ -112,18 +113,16 @@ br_switchdev_fdb_notify(const struct net
+@@ -112,20 +113,19 @@ br_switchdev_fdb_notify(const struct net
                .local = test_bit(BR_FDB_LOCAL, &fdb->flags),
                .offloaded = test_bit(BR_FDB_OFFLOADED, &fdb->flags),
        };
--
++      struct net_device *dev = fdb->dst ? fdb->dst->dev : br->dev;
 -      if (!fdb->dst)
 -              return;
-+      struct net_device *dev = fdb->dst ? fdb->dst->dev : br->dev;
+       if (test_bit(BR_FDB_LOCAL, &fdb->flags))
+               return;
  
        switch (type) {
        case RTM_DELNEIGH:
index b0bdf374d9810f5e64abb9ca309bb10c8021b3cf..a4398f9f8a25bd7da93631a3cda21d19f870123e 100644 (file)
@@ -71,7 +71,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
                break;
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -935,14 +935,16 @@ struct phy_device *phy_find_first(struct
+@@ -936,14 +936,16 @@ struct phy_device *phy_find_first(struct
  }
  EXPORT_SYMBOL(phy_find_first);
  
@@ -107,7 +107,7 @@ still required by target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
        bool tx_pause, rx_pause;
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -636,7 +636,7 @@ struct phy_device {
+@@ -638,7 +638,7 @@ struct phy_device {
        u8 mdix;
        u8 mdix_ctrl;
  
index 59041f042031ea8e5751b484e12d98e1709fdf24..c9cbef742951e5b7bad23f8868eb19843e03664e 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                break;
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -556,6 +556,7 @@ struct phy_device {
+@@ -557,6 +557,7 @@ struct phy_device {
        unsigned sysfs_links:1;
        unsigned loopback_enabled:1;
        unsigned downshifted_rate:1;
index 86cfb4e224c216c4ea766efc0219d0564880aaeb..c1e2a6727294ebc1e919f6cba232a918cb07b7b9 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  #include <linux/crc32.h>
  #include <linux/if_vlan.h>
  #include <linux/uaccess.h>
-@@ -5328,6 +5329,22 @@ static void rtl_tally_reset(struct r8152
+@@ -5300,6 +5301,22 @@ static void rtl_tally_reset(struct r8152
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  }
  
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  static void r8152b_init(struct r8152 *tp)
  {
        u32 ocp_data;
-@@ -5369,6 +5386,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -5341,6 +5358,8 @@ static void r8152b_init(struct r8152 *tp
        ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
        ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
        ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  }
  
  static void r8153_init(struct r8152 *tp)
-@@ -5509,6 +5528,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -5486,6 +5505,8 @@ static void r8153_init(struct r8152 *tp)
                tp->coalesce = COALESCE_SLOW;
                break;
        }
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  }
  
  static void r8153b_init(struct r8152 *tp)
-@@ -5595,6 +5616,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -5572,6 +5593,8 @@ static void r8153b_init(struct r8152 *tp
        rtl_tally_reset(tp);
  
        tp->coalesce = 15000;   /* 15 us */