From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] IPVS: precedence bug in ip_vs_sync_switch_mode() Date: Mon, 7 Feb 2011 11:38:55 +0300 Message-ID: <20110207083855.GD4384@bicker> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Simon Horman , Julian Anastasov , hans.schillstrom@ericsson.com, Patrick McHardy , "David S. Miller" , netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, kernel-janitors@vger.kernel.org To: Wensong Zhang Return-path: Content-Disposition: inline Sender: netfilter-devel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org '!' has higher precedence than '&'. IP_VS_STATE_MASTER is 0x1 so the original code is equivelent to if (!ipvs->sync_state) ... Signed-off-by: Dan Carpenter 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;