diff options
author | Patrick McHardy <kaber@trash.net> | 2007-02-12 14:11:06 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-02-12 14:11:06 -0500 |
commit | a5ea6169f294bc33a762f7c1c240e3ac0f045f9e (patch) | |
tree | 1ab3c32c6eb2a54c8a2887b18193301e31d24177 | |
parent | fd706d6957b3c66ae70b4bbdb9e13993213697f7 (diff) |
[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>
-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) | |||
46 | return -EINVAL; | 46 | return -EINVAL; |
47 | 47 | ||
48 | spin_lock(&nf_log_lock); | 48 | spin_lock(&nf_log_lock); |
49 | nf_logging[pf] = NULL; | 49 | rcu_assign_pointer(nf_logging[pf], NULL); |
50 | spin_unlock(&nf_log_lock); | 50 | spin_unlock(&nf_log_lock); |
51 | 51 | ||
52 | /* Give time to concurrent readers. */ | 52 | /* Give time to concurrent readers. */ |
53 | synchronize_net(); | 53 | synchronize_rcu(); |
54 | 54 | ||
55 | return 0; | 55 | return 0; |
56 | } | 56 | } |
@@ -63,11 +63,11 @@ void nf_log_unregister_logger(struct nf_logger *logger) | |||
63 | spin_lock(&nf_log_lock); | 63 | spin_lock(&nf_log_lock); |
64 | for (i = 0; i < NPROTO; i++) { | 64 | for (i = 0; i < NPROTO; i++) { |
65 | if (nf_logging[i] == logger) | 65 | if (nf_logging[i] == logger) |
66 | nf_logging[i] = NULL; | 66 | rcu_assign_pointer(nf_logging[i], NULL); |
67 | } | 67 | } |
68 | spin_unlock(&nf_log_lock); | 68 | spin_unlock(&nf_log_lock); |
69 | 69 | ||
70 | synchronize_net(); | 70 | synchronize_rcu(); |
71 | } | 71 | } |
72 | EXPORT_SYMBOL(nf_log_unregister_logger); | 72 | EXPORT_SYMBOL(nf_log_unregister_logger); |
73 | 73 | ||