[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CC1F47C.9020104@cox.net>
Date: Fri, 22 Oct 2010 16:30:52 -0400
From: Joe Buehler <aspam@....net>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: netdev@...r.kernel.org
Subject: Re: kernel panic in fib_rules_lookup [2.6.27.7 vendor-patched]
Eric Dumazet wrote:
> Could you provide a disassembly of function fib_rules_lookup ?
Try looking in http://68.100.141.95:3000/linux-crash/. There should be
the source file I am using (not current release if you recall), the .o,
the disassembly, and a -S compile that makes deducing the line numbers a
little easier.
I have tried adding a recursive spinlock as a quick fix without much
success. It looks like the code in net/core/fib_rules.c results in some
rather complex code paths through the kernel involving softirq handlers.
I get lockups though I took steps to make sure local interrupts were
off and preemption disabled when taking the spinlock.
I do not know the RCU API or the network code at all but some of the
code in fib_rules.c does not look right prima facie. For example,
dump_rules does not seem to bother about RCU when traversing rules_list.
Its caller, fib_nl_dumprule does, but only for one of two calls. The
fib_nl_newrule and fib_nl_delrule functions traverse rules_list without
any obvious RCU precautions.
Joe Buehler
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists