Skip to content

Commit

Permalink
kernel: bump 5.10 to 5.10.27
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
ldir-EDB0 committed Apr 3, 2021
1 parent b974293 commit 438e88e
Show file tree
Hide file tree
Showing 21 changed files with 64 additions and 60 deletions.
4 changes: 2 additions & 2 deletions include/kernel-version.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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)))))))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <[email protected]>
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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>

--- 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);
}

Expand Down Expand Up @@ -50,7 +50,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
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);

Expand All @@ -60,7 +60,7 @@ Signed-off-by: Álvaro Fernández Rojas <[email protected]>
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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <[email protected]>

--- a/Makefile
+++ b/Makefile
@@ -506,7 +506,7 @@ KBUILD_LDFLAGS_MODULE :=
@@ -507,7 +507,7 @@ KBUILD_LDFLAGS_MODULE :=
KBUILD_LDFLAGS :=
CLANG_FLAGS :=

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <[email protected]>

--- 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);

Expand All @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <[email protected]>
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))
Expand All @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <[email protected]>

/* 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);
Expand All @@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <[email protected]>
}

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");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <[email protected]>
#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);

Expand Down Expand Up @@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <[email protected]>
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)
{
Expand All @@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <[email protected]>
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);
Expand All @@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <[email protected]>
}
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);
Expand Down Expand Up @@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <[email protected]>
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;
Expand All @@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <[email protected]>
}
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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <[email protected]>
* @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
Expand All @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <[email protected]>
* 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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <[email protected]>
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) {
Expand All @@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <[email protected]>
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));

Expand All @@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <[email protected]>

/* 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)
{
Expand Down
6 changes: 3 additions & 3 deletions target/linux/generic/hack-5.10/221-module_exports.patch
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
/* 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 = .; \
Expand All @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
__stop___ksymtab_gpl = .; \
} \
\
@@ -539,7 +549,7 @@
@@ -542,7 +552,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
Expand All @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
} \
\
/* __*init sections */ \
@@ -1014,6 +1024,8 @@
@@ -1017,6 +1027,8 @@

#define COMMON_DISCARDS \
SANITIZER_DISCARDS \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <[email protected]>

--- 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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <[email protected]>

--- 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
/* 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;
+
Expand Down Expand Up @@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
- 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];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
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),
};

Expand All @@ -138,15 +138,15 @@ Signed-off-by: Jonas Gorski <[email protected]>
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,
+ [RTN_POLICY_FAILED] = -EACCES,
[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;
Expand All @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
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);
}

Expand All @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
/*
* 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 ||
Expand All @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
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);
Expand All @@ -194,15 +194,15 @@ Signed-off-by: Jonas Gorski <[email protected]>
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);
+ in6_dev_put_clear(&net->ipv6.ip6_policy_failed_entry->rt6i_idev);
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;
Expand All @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
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);

Expand All @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <[email protected]>
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
Expand All @@ -243,15 +243,15 @@ Signed-off-by: Jonas Gorski <[email protected]>
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);
+ kfree(net->ipv6.ip6_policy_failed_entry);
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);
Expand Down
Loading

0 comments on commit 438e88e

Please sign in to comment.