netdev
[Top] [All Lists]

Re: Oops when stopping IPsec connection

To: marcel@xxxxxxxxxxxx (Marcel Holtmann)
Subject: Re: Oops when stopping IPsec connection
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 24 Sep 2004 08:05:33 +1000
Cc: netdev@xxxxxxxxxxx
In-reply-to: <1095975655.5976.13.camel@pegasus>
Organization: Core
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: tin/1.7.4-20040225 ("Benbecula") (UNIX) (Linux/2.4.27-hx-1-686-smp (i686))
Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> EIP is at fib_nh_match+0x58/0x61
>
> Call Trace:
> [<c02680dd>] fn_hash_delete+0x231/0x243
> [<c02657d1>] inet_rtm_delroute+0x66/0x7a

Does this patch help?
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
===== net/ipv4/fib_hash.c 1.22 vs edited =====
--- 1.22/net/ipv4/fib_hash.c    2004-09-22 09:31:48 +10:00
+++ edited/net/ipv4/fib_hash.c  2004-09-23 21:16:04 +10:00
@@ -608,6 +608,7 @@
        struct fn_hash *table = (struct fn_hash*)tb->tb_data;
        struct fib_node *f;
        struct fib_alias *fa, *fa_to_delete;
+       struct list_head *fa_head;
        int z = r->rtm_dst_len;
        struct fn_zone *fz;
        u32 key;
@@ -633,7 +634,8 @@
                return -ESRCH;
 
        fa_to_delete = NULL;
-       list_for_each_entry(fa, fa->fa_list.prev, fa_list) {
+       fa_head = fa->fa_list.prev;
+       list_for_each_entry(fa, fa_head, fa_list) {
                struct fib_info *fi = fa->fa_info;
 
                if ((!r->rtm_type ||

<Prev in Thread] Current Thread [Next in Thread>