[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1287805487.2658.5.camel@edumazet-laptop>
Date: Sat, 23 Oct 2010 05:44:47 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Joe Buehler <aspam@....net>
Cc: netdev@...r.kernel.org
Subject: Re: kernel panic in fib_rules_lookup [2.6.27.7 vendor-patched]
Le vendredi 22 octobre 2010 à 16:30 -0400, Joe Buehler a écrit :
> 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.
>
Hmm, I'll take a look sometime in the future, thanks
> 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.
There is no obligation RCU shall be used in a slow path algorithm.
This slow path uses regular locking to prevent another process to change
the things while we read them, thats it.
Patrick made a change in the past so that RTNL is locked on dump
operations, so no dump_rules() is in fact protected by RTNL, it doesnt
need to take care of 'RCU'.
Thanks
--
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