> > Which is due to nf_conntrack_expect.lnode hlist entry not being reset > > to NULL after being removed from the list in hlist_del(), but instead to > > LIST_POISON1. And because of this hlist_for_each_entry_safe() does > > not terminate correctly. > > > > Therefore change nf_ct_unlink_expect_report() to use __hlist_del() > > instead. > > We should be holding the conntrack lock here and in flush_expectations(), > Not sure what I'm missing here, but if locking were used correctly, this > shouldn't be happening. My first impression was that it is something locking related, so I first looked at usage of nf_conntrack_lock. But I didn't find anything. So my understanding is that usage of nf_conntrack_lock is correct. Still, I think that using hlist_del() together with those loop iterators expecting NULL-ness is a dangerous thing to do. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html