|
@@ -365,7 +365,7 @@ ip6t_do_table(struct sk_buff *skb,
|
|
|
|
|
|
IP_NF_ASSERT(table->valid_hooks & (1 << hook));
|
|
IP_NF_ASSERT(table->valid_hooks & (1 << hook));
|
|
|
|
|
|
- rcu_read_lock();
|
|
|
|
|
|
+ rcu_read_lock_bh();
|
|
private = rcu_dereference(table->private);
|
|
private = rcu_dereference(table->private);
|
|
table_base = rcu_dereference(private->entries[smp_processor_id()]);
|
|
table_base = rcu_dereference(private->entries[smp_processor_id()]);
|
|
|
|
|
|
@@ -466,7 +466,7 @@ ip6t_do_table(struct sk_buff *skb,
|
|
#ifdef CONFIG_NETFILTER_DEBUG
|
|
#ifdef CONFIG_NETFILTER_DEBUG
|
|
((struct ip6t_entry *)table_base)->comefrom = NETFILTER_LINK_POISON;
|
|
((struct ip6t_entry *)table_base)->comefrom = NETFILTER_LINK_POISON;
|
|
#endif
|
|
#endif
|
|
- rcu_read_unlock();
|
|
|
|
|
|
+ rcu_read_unlock_bh();
|
|
|
|
|
|
#ifdef DEBUG_ALLOW_ALL
|
|
#ifdef DEBUG_ALLOW_ALL
|
|
return NF_ACCEPT;
|
|
return NF_ACCEPT;
|