提交 76a2d3bc 编写于 作者: C Changli Gao 提交者: Patrick McHardy

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: NChangli Gao <xiaosuo@gmail.com>
Signed-off-by: NPatrick McHardy <kaber@trash.net>
上级 0f8e8004
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册