Re: [patch] IPVS: precedence bug in ip_vs_sync_switch_mode()
From: Hans Schillstrom <hidden>
Date: 2011-02-07 09:34:46
Also in:
kernel-janitors, lvs-devel, netfilter-devel
From: Hans Schillstrom <hidden>
Date: 2011-02-07 09:34:46
Also in:
kernel-janitors, lvs-devel, netfilter-devel
---- Original Message ---- From: Dan Carpenter <redacted> To: "Wensong Zhang" <redacted> Cc: "Simon Horman" <horms@verge.net.au>, "Julian Anastasov" <ja@ssi.bg>, hans.schillstrom@ericsson.com, "Patrick McHardy" <redacted>, "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, kernel-janitors@vger.kernel.org Sent: Mon, Feb 7, 2011, 9:39 AM Subject: [patch] IPVS: precedence bug in ip_vs_sync_switch_mode() '!' has higher precedence than '&'. IP_VS_STATE_MASTER is 0x1 so the original code is equivelent to if (!ipvs->sync_state) ...
Oops, Thanks Hans
Signed-off-by: Dan Carpenter <redacted>
Signed-off-by: Hans Schillstrom <redacted>
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c index 2a2a836..d1b7298 100644 --- a/net/netfilter/ipvs/ip_vs_sync.c +++ b/net/netfilter/ipvs/ip_vs_sync.c@@ -392,7 +392,7 @@ void ip_vs_sync_switch_mode(struct net *net, int mode){ struct netns_ipvs *ipvs = net_ipvs(net); - if (!ipvs->sync_state & IP_VS_STATE_MASTER) + if (!(ipvs->sync_state & IP_VS_STATE_MASTER)) return; if (mode == ipvs->sysctl_sync_ver || !ipvs->sync_buff) return; --