netdev
[Top] [All Lists]

Re: PROBLEM: OOPS in Linux 2.6.9, fib_release_info

To: Martin Lucina <mato@xxxxxxxxxx>
Subject: Re: PROBLEM: OOPS in Linux 2.6.9, fib_release_info
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Tue, 30 Nov 2004 20:46:44 -0800
Cc: netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <20041201011612.GA3423@xxxxxxxxxx>
References: <20041201011612.GA3423@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Wed, 1 Dec 2004 02:16:12 +0100
Martin Lucina <mato@xxxxxxxxxx> wrote:

> I have found a reproducible OOPS in fib_release_info, in the 2.6.9 kernel.
> Tested on two different systems, one UP, one SMP, both i386, both w/
> CONFIG_PREEMPT=y, both Debian sarge, both w/ iproute2 version 20010824-13.1
> (Debian).

Already fixed in 2.6.10 by this patch.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/25 20:09:20-07:00 ehrhardt@xxxxxxxxxxxxxxxxxxxxx 
#   [IPV4]: Do not try to unhash null-netdev nexthops.
#   
#   Signed-off-by: Christian Ehrhardt <ehrhardt@xxxxxxxxxxxxxxxxxxxxx>
#   Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
# 
# net/ipv4/fib_semantics.c
#   2004/10/25 20:09:01-07:00 ehrhardt@xxxxxxxxxxxxxxxxxxxxx +2 -0
#   [IPV4]: Do not try to unhash null-netdev nexthops.
#   
#   Signed-off-by: Christian Ehrhardt <ehrhardt@xxxxxxxxxxxxxxxxxxxxx>
#   Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
# 
diff -Nru a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
--- a/net/ipv4/fib_semantics.c  2004-11-30 20:22:10 -08:00
+++ b/net/ipv4/fib_semantics.c  2004-11-30 20:22:10 -08:00
@@ -163,6 +163,8 @@
                if (fi->fib_prefsrc)
                        hlist_del(&fi->fib_lhash);
                change_nexthops(fi) {
+                       if (!nh->nh_dev)
+                               continue;
                        hlist_del(&nh->nh_hash);
                } endfor_nexthops(fi)
                fi->fib_dead = 1;

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