Re: [Lse-tech] Re: [PATCH 0/7]: Fix for unsafe notifier chain

From: Andi Kleen
Date: Mon Nov 28 2005 - 07:09:48 EST


On Mon, Nov 28, 2005 at 07:31:36PM +1100, Keith Owens wrote:
> On Mon, 28 Nov 2005 05:59:22 +0100,
> Andi Kleen <ak@xxxxxxx> wrote:
> >On Sun, Nov 27, 2005 at 08:57:45PM -0800, Andrew Morton wrote:
> >> "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
> >> >
> >> > Any options I missed?
> >>
> >> Stop using the notifier chains from NMI context - it's too hard. Use a
> >> fixed-size array in the NMI code instead.
> >
> >Or just don't unregister. That is what I did for the debug notifiers.
>
> Unregister is not the only problem. Chain traversal races with
> register as well.

Either it follows the old next or the new next. Both are valid.
The only problem is that there isn't a write barrier between

n->next = *list;
*list=n;

in notifier_chain_register, which might hit on non i386 architectures.

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