diff options
author | Patrick McHardy <kaber@trash.net> | 2007-02-12 20:11:06 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-02-12 20:11:06 +0100 |
commit | a5ea6169f294bc33a762f7c1c240e3ac0f045f9e (patch) | |
tree | 1ab3c32c6eb2a54c8a2887b18193301e31d24177 /net | |
parent | [NETFILTER]: Switch nf_register_hook/nf_unregister_hook to mutex (diff) | |
download | linux-a5ea6169f294bc33a762f7c1c240e3ac0f045f9e.tar.xz linux-a5ea6169f294bc33a762f7c1c240e3ac0f045f9e.zip |
[NETFILTER]: nf_log: use rcu_assign_pointer for RCU protected pointer
Also replace synchronize_net() calls by synchronize_rcu() since the
RCU protected data is also used for sysfs.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_log.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c index 07e28e089616..a3ff88dcc2ac 100644 --- a/net/netfilter/nf_log.c +++ b/net/netfilter/nf_log.c @@ -46,11 +46,11 @@ int nf_log_unregister_pf(int pf) return -EINVAL; spin_lock(&nf_log_lock); - nf_logging[pf] = NULL; + rcu_assign_pointer(nf_logging[pf], NULL); spin_unlock(&nf_log_lock); /* Give time to concurrent readers. */ - synchronize_net(); + synchronize_rcu(); return 0; } @@ -63,11 +63,11 @@ void nf_log_unregister_logger(struct nf_logger *logger) spin_lock(&nf_log_lock); for (i = 0; i < NPROTO; i++) { if (nf_logging[i] == logger) - nf_logging[i] = NULL; + rcu_assign_pointer(nf_logging[i], NULL); } spin_unlock(&nf_log_lock); - synchronize_net(); + synchronize_rcu(); } EXPORT_SYMBOL(nf_log_unregister_logger); |