Re: [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver

David Miller
2008-02-19T04:28:57Z

From: James Chapman <jchapman@katalix.com>
Date: Mon, 18 Feb 2008 22:09:24 +0000

> Here's a new version of the patch. The patch avoids disabling irqs
> and fixes the sk_dst_get() usage that DaveM mentioned. But even with
> this patch, lockdep still complains if hundreds of ppp sessions are
> inserted into a tunnel as rapidly as possible (lockdep trace is
> below). I can stop these errors by wrapping the call to ppp_input()
> in pppol2tp_recv_dequeue_skb() with local_irq_save/restore. What is
> a better fix?

Firstly, let's fix one thing at a time. Leave the sk_dst_get()
thing alone until we can prove that it's part of the lockdep
traces.

Next, I can't see why ppp_input() needs to be invoked with
interrupts disabled. There are many other things that invoke
that in software interrupt context, such as pppoe.

Please provide the lockdep traces without the ppp_input() IRQ
disabling so this can be properly analyzed.