netfilter: Remove now-redundant smp_read_barrier_depends()
READ_ONCE() now implies smp_read_barrier_depends(), which means that the instances in arpt_do_table(), ipt_do_table(), and ip6t_do_table() are now redundant. This commit removes them and adjusts the comments. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Pablo Neira Ayuso <pablo@netfilter.org> Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Cc: Florian Westphal <fw@strlen.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: <netfilter-devel@vger.kernel.org> Cc: <coreteam@netfilter.org> Cc: <netdev@vger.kernel.org>
This commit is contained in:
parent
08df477434
commit
4be2b04e43
@ -202,13 +202,8 @@ unsigned int arpt_do_table(struct sk_buff *skb,
|
|||||||
|
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
addend = xt_write_recseq_begin();
|
addend = xt_write_recseq_begin();
|
||||||
private = table->private;
|
private = READ_ONCE(table->private); /* Address dependency. */
|
||||||
cpu = smp_processor_id();
|
cpu = smp_processor_id();
|
||||||
/*
|
|
||||||
* Ensure we load private-> members after we've fetched the base
|
|
||||||
* pointer.
|
|
||||||
*/
|
|
||||||
smp_read_barrier_depends();
|
|
||||||
table_base = private->entries;
|
table_base = private->entries;
|
||||||
jumpstack = (struct arpt_entry **)private->jumpstack[cpu];
|
jumpstack = (struct arpt_entry **)private->jumpstack[cpu];
|
||||||
|
|
||||||
|
@ -260,13 +260,8 @@ ipt_do_table(struct sk_buff *skb,
|
|||||||
WARN_ON(!(table->valid_hooks & (1 << hook)));
|
WARN_ON(!(table->valid_hooks & (1 << hook)));
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
addend = xt_write_recseq_begin();
|
addend = xt_write_recseq_begin();
|
||||||
private = table->private;
|
private = READ_ONCE(table->private); /* Address dependency. */
|
||||||
cpu = smp_processor_id();
|
cpu = smp_processor_id();
|
||||||
/*
|
|
||||||
* Ensure we load private-> members after we've fetched the base
|
|
||||||
* pointer.
|
|
||||||
*/
|
|
||||||
smp_read_barrier_depends();
|
|
||||||
table_base = private->entries;
|
table_base = private->entries;
|
||||||
jumpstack = (struct ipt_entry **)private->jumpstack[cpu];
|
jumpstack = (struct ipt_entry **)private->jumpstack[cpu];
|
||||||
|
|
||||||
|
@ -282,12 +282,7 @@ ip6t_do_table(struct sk_buff *skb,
|
|||||||
|
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
addend = xt_write_recseq_begin();
|
addend = xt_write_recseq_begin();
|
||||||
private = table->private;
|
private = READ_ONCE(table->private); /* Address dependency. */
|
||||||
/*
|
|
||||||
* Ensure we load private-> members after we've fetched the base
|
|
||||||
* pointer.
|
|
||||||
*/
|
|
||||||
smp_read_barrier_depends();
|
|
||||||
cpu = smp_processor_id();
|
cpu = smp_processor_id();
|
||||||
table_base = private->entries;
|
table_base = private->entries;
|
||||||
jumpstack = (struct ip6t_entry **)private->jumpstack[cpu];
|
jumpstack = (struct ip6t_entry **)private->jumpstack[cpu];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user