lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: panic on rmmod of nf_conntrack_irc
    Mariusz Kozlowski wrote:
    > Recent kernels (i.e. 2.6.30-rc1) will panic while doing rmmod of nf_conntrack_irc.
    >
    > (gdb) l *(nf_conntrack_helper_unregister+0x158)
    > 0x4f8 is in nf_conntrack_helper_unregister (/home/mako/linux/lkt/sources/linux-2.6/include/net/netfilter/nf_conntrack.h:133).
    > 128 };
    > 129
    > 130 static inline struct nf_conn *
    > 131 nf_ct_tuplehash_to_ctrack(const struct nf_conntrack_tuple_hash *hash)
    > 132 {
    > 133 return container_of(hash, struct nf_conn,
    > 134 tuplehash[hash->tuple.dst.dir]);
    > 135 }
    > 136
    > 137 static inline u_int16_t nf_ct_l3num(const struct nf_conn *ct)
    >
    >
    > I bisected it down to
    >
    > netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()

    Thanks for the report. Does this patch fix it?

    diff --git a/net/netfilter/nf_conntrack_helper.c b/net/netfilter/nf_conntrack_helper.c
    index 30b8e90..0fa5a42 100644
    --- a/net/netfilter/nf_conntrack_helper.c
    +++ b/net/netfilter/nf_conntrack_helper.c
    @@ -176,7 +176,7 @@ static void __nf_conntrack_helper_unregister(struct nf_conntrack_helper *me,
    }

    /* Get rid of expecteds, set helpers to NULL. */
    - hlist_for_each_entry(h, nn, &net->ct.unconfirmed, hnnode)
    + hlist_nulls_for_each_entry(h, nn, &net->ct.unconfirmed, hnnode)
    unhelp(h, me);
    for (i = 0; i < nf_conntrack_htable_size; i++) {
    hlist_nulls_for_each_entry(h, nn, &net->ct.hash[i], hnnode)
    \
     
     \ /
      Last update: 2009-04-14 13:35    [W:0.039 / U:14.572 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site