Re: [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC

From: Linus Torvalds
Date: Mon Oct 07 2013 - 23:29:31 EST


On Mon, Oct 7, 2013 at 8:11 PM, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
>
> Yeah, I see no timer usage in parport_pc driver, so it's still questionable.

The timer itself comes simply from the delayed_work that is used to
delay the freeing of the kobject.

So that is not the surprising part.

The surprising part is that I don't see parport_pc doing anything
odd/bad with its kobject embedded in the 'struct dev'. It seems to
just do a platform_device_register_simple() followed by a
platform_device_unregister().

At least that's true for the normal parport_pc_probe_port() case that
just passes in a NULL dev... But I only glanced at the driver, so I
might have missed something.

> with some manual bisects, I find a good config (attached) that can
> reliably boot the kernel up.
>
> Based on that config, I tried adding parport_pc and see that it still
> boots fine.
>
> Adding drm, however will bring back the oops. Will try a kernel based
> on the original kconfig with drm disabled only.

Ok. The list corruption (which also pointed at parport_pc) might well
be corrupted by removing the entries before or after the parport_pc,
and moving the corruption to parport_pc that way (through the
"prev->next = next" thing in list handling). So maybe it was something
else all along. You could enable CONFIG_DEBUG_LIST to see if that
triggers some dump earlier..

Linus
--
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/