Re: An oops while running 2.5.65-mm2

From: jjs (jjs@tmsusa.com)
Date: Fri Mar 21 2003 - 13:33:50 EST


We have 12 hours uptime so far with this
patch, and everything is good so far -

Will report any change in status -

Joe

Martin Josefsson wrote:

>You are correct. It was a list_del() that caused it (at least I think
>so, it's 2am right now).
>
>1. conntrack helper adds an expectation and adds that to a list hanging
>of off a connection.
>
>2. the expected connection arrives. the expectation is still on the
>list.
>
>3. the original connection that caused the expectation terminates but
>the expectation still thinks it's added to the list.
>
>4. the expected connection terminates and list_del() is called to remove
>it from the list which doesn't exist anymore. boom!
>
>
>
>------------------------------------------------------------------------
>
>--- linux-2.5.64-bk10/net/ipv4/netfilter/ip_conntrack_core.c.orig 2003-03-21 01:42:57.000000000 +0100
>+++ linux-2.5.64-bk10/net/ipv4/netfilter/ip_conntrack_core.c 2003-03-21 01:44:11.000000000 +0100
>@@ -274,6 +274,7 @@
> * the un-established ones only */
> if (exp->sibling) {
> DEBUGP("remove_expectations: skipping established %p of %p\n", exp->sibling, ct);
>+ exp->sibling = NULL;
> continue;
> }
>
>@@ -327,9 +328,11 @@
> WRITE_LOCK(&ip_conntrack_lock);
> /* Delete our master expectation */
> if (ct->master) {
>- /* can't call __unexpect_related here,
>- * since it would screw up expect_list */
>- list_del(&ct->master->expected_list);
>+ if (ct->master->sibling) {
>+ /* can't call __unexpect_related here,
>+ * since it would screw up expect_list */
>+ list_del(&ct->master->expected_list);
>+ }
> kfree(ct->master);
> }
> WRITE_UNLOCK(&ip_conntrack_lock);
>
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:37 EST