From: Florian Westphal > Sent: 30 January 2016 21:30 > Weidong Wang <wangweido...@huawei.com> 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