===== net/ipv4/netfilter/ip_nat_helper.c 1.11 vs edited ===== --- 1.11/net/ipv4/netfilter/ip_nat_helper.c Mon Oct 13 21:40:48 2003 +++ edited/net/ipv4/netfilter/ip_nat_helper.c Thu Nov 20 12:48:17 2003 @@ -469,10 +469,13 @@ int ret = 0; if (me->me && !(me->flags & IP_NAT_HELPER_F_STANDALONE)) { - struct ip_conntrack_helper *ct_helper; + struct ip_conntrack_helper *ct_helper = NULL; - if ((ct_helper = ip_ct_find_helper(&me->tuple)) - && ct_helper->me) { + READ_LOCK(&ip_conntrack_lock); + ct_helper = ip_ct_find_helper(&me->tuple); + READ_UNLOCK(&ip_conntrack_lock); + + if (ct_helper && ct_helper->me) { __MOD_INC_USE_COUNT(ct_helper->me); } else {