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>
This commit is contained in:
Родитель
0f8e80044b
Коммит
76a2d3bcfc
|
@ -21,9 +21,9 @@ static inline int nf_nat_initialized(struct nf_conn *ct,
|
|||
enum nf_nat_manip_type manip)
|
||||
{
|
||||
if (manip == IP_NAT_MANIP_SRC)
|
||||
return test_bit(IPS_SRC_NAT_DONE_BIT, &ct->status);
|
||||
return ct->status & IPS_SRC_NAT_DONE_BIT;
|
||||
else
|
||||
return test_bit(IPS_DST_NAT_DONE_BIT, &ct->status);
|
||||
return ct->status & IPS_DST_NAT_DONE_BIT;
|
||||
}
|
||||
|
||||
struct nlattr;
|
||||
|
|
|
@ -323,9 +323,9 @@ nf_nat_setup_info(struct nf_conn *ct,
|
|||
|
||||
/* It's done. */
|
||||
if (maniptype == IP_NAT_MANIP_DST)
|
||||
set_bit(IPS_DST_NAT_DONE_BIT, &ct->status);
|
||||
ct->status |= IPS_DST_NAT_DONE_BIT;
|
||||
else
|
||||
set_bit(IPS_SRC_NAT_DONE_BIT, &ct->status);
|
||||
ct->status |= IPS_SRC_NAT_DONE_BIT;
|
||||
|
||||
return NF_ACCEPT;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче