diff options
Diffstat (limited to 'target/linux/generic')
-rw-r--r-- | target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch | 2 | ||||
-rw-r--r-- | target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch index 7a49ce0c39..703ac8215e 100644 --- a/target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch @@ -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; diff --git a/target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch index 1792534835..baf738a8d2 100644 --- a/target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch +++ b/target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch @@ -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]; |