diff options
author | Changli Gao <xiaosuo@gmail.com> | 2010-11-15 05:59:03 -0500 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2010-11-15 05:59:03 -0500 |
commit | 76a2d3bcfcc86e2a8044258515b86492a37631a3 (patch) | |
tree | f6363f3a6d48becbfe15320744cddc6d4bab30a6 | |
parent | 0f8e80044b26b4b30213a3fdffebd325cdc21362 (diff) |
netfilter: nf_nat: don't use atomic bit operation
As we own the conntrack and the others can't see it until we confirm it,
we don't need to use atomic bit operation on ct->status.
Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | include/net/netfilter/nf_nat_core.h | 4 | ||||
-rw-r--r-- | net/ipv4/netfilter/nf_nat_core.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/net/netfilter/nf_nat_core.h b/include/net/netfilter/nf_nat_core.h index 33602ab66190..5aec85c29979 100644 --- a/include/net/netfilter/nf_nat_core.h +++ b/include/net/netfilter/nf_nat_core.h | |||
@@ -21,9 +21,9 @@ static inline int nf_nat_initialized(struct nf_conn *ct, | |||
21 | enum nf_nat_manip_type manip) | 21 | enum nf_nat_manip_type manip) |
22 | { | 22 | { |
23 | if (manip == IP_NAT_MANIP_SRC) | 23 | if (manip == IP_NAT_MANIP_SRC) |
24 | return test_bit(IPS_SRC_NAT_DONE_BIT, &ct->status); | 24 | return ct->status & IPS_SRC_NAT_DONE_BIT; |
25 | else | 25 | else |
26 | return test_bit(IPS_DST_NAT_DONE_BIT, &ct->status); | 26 | return ct->status & IPS_DST_NAT_DONE_BIT; |
27 | } | 27 | } |
28 | 28 | ||
29 | struct nlattr; | 29 | struct nlattr; |
diff --git a/net/ipv4/netfilter/nf_nat_core.c b/net/ipv4/netfilter/nf_nat_core.c index c04787ce1a71..ab877acb22a1 100644 --- a/net/ipv4/netfilter/nf_nat_core.c +++ b/net/ipv4/netfilter/nf_nat_core.c | |||
@@ -323,9 +323,9 @@ nf_nat_setup_info(struct nf_conn *ct, | |||
323 | 323 | ||
324 | /* It's done. */ | 324 | /* It's done. */ |
325 | if (maniptype == IP_NAT_MANIP_DST) | 325 | if (maniptype == IP_NAT_MANIP_DST) |
326 | set_bit(IPS_DST_NAT_DONE_BIT, &ct->status); | 326 | ct->status |= IPS_DST_NAT_DONE_BIT; |
327 | else | 327 | else |
328 | set_bit(IPS_SRC_NAT_DONE_BIT, &ct->status); | 328 | ct->status |= IPS_SRC_NAT_DONE_BIT; |
329 | 329 | ||
330 | return NF_ACCEPT; | 330 | return NF_ACCEPT; |
331 | } | 331 | } |