From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753931AbcBAQnS (ORCPT ); Mon, 1 Feb 2016 11:43:18 -0500 Received: from smtp-out4.electric.net ([192.162.216.194]:56383 "EHLO smtp-out4.electric.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753684AbcBAQnQ convert rfc822-to-8bit (ORCPT ); Mon, 1 Feb 2016 11:43:16 -0500 From: David Laight To: "'Florian Westphal'" , Weidong Wang CC: "pablo@netfilter.org" , "kaber@trash.net" , "kadlec@blackhole.kfki.hu" , David Miller , "netfilter-devel@vger.kernel.org" , "coreteam@netfilter.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH net-next] netfilter: nf_conntrack: remove the unneed check for *bucket Thread-Topic: [PATCH net-next] netfilter: nf_conntrack: remove the unneed check for *bucket Thread-Index: AQHRW1kGC0jbZdNMoUGghW9OTlN58J8UlBCAgALTQGA= Date: Mon, 1 Feb 2016 16:39:56 +0000 Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CCD2594@AcuExch.aculab.com> References: <56ACABBC.9050303@huawei.com> <20160130213003.GA13560@breakpoint.cc> In-Reply-To: <20160130213003.GA13560@breakpoint.cc> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.202.99.200] Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-Outbound-IP: 213.249.233.130 X-Env-From: David.Laight@ACULAB.COM X-PolicySMART: 3396946, 3397078 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Florian Westphal > Sent: 30 January 2016 21:30 > Weidong Wang wrote: > > In the 'for(...) {}', the *bucket alwasy < net->ct.htable_size, > > so remove the check > > @@ -1383,14 +1383,12 @@ get_next_corpse(struct net *net, int (*iter)(struct nf_conn *i, void *data), > > lockp = &nf_conntrack_locks[*bucket % CONNTRACK_LOCKS]; > > local_bh_disable(); > > spin_lock(lockp); > > - if (*bucket < net->ct.htable_size) { > > AFAIU net->ct.htable_size can shrink between for-test and aquiring > the bucket lockp, so this additional if-test is needed. If the table can shrink, can it not also grow - in which case the references bucket will be incorrect? David