forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
Showing
21 changed files
with
64 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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); | ||
} | ||
|
||
|
@@ -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); | ||
|
||
|
@@ -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; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 := | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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); | ||
|
||
|
@@ -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)) | ||
|
@@ -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); | ||
|
@@ -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"); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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); | ||
|
||
|
@@ -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) | ||
{ | ||
|
@@ -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); | ||
|
@@ -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); | ||
|
@@ -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; | ||
|
@@ -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; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -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; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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) { | ||
|
@@ -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)); | ||
|
||
|
@@ -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) | ||
{ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 = .; \ | ||
|
@@ -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) { \ | ||
|
@@ -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 \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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; | ||
+ | ||
|
@@ -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]; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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), | ||
}; | ||
|
||
|
@@ -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; | ||
|
@@ -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); | ||
} | ||
|
||
|
@@ -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 || | ||
|
@@ -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); | ||
|
@@ -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; | ||
|
@@ -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); | ||
|
||
|
@@ -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 | ||
|
@@ -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); | ||
|
Oops, something went wrong.