Re: 2.6.23: x86_64 oops caused by hotplug running before vdso initialized

From: Andi Kleen
Date: Thu Dec 06 2007 - 15:52:22 EST


On Thursday 06 December 2007 20:44:46 Chuck Ebbert wrote:
> pages is NULL here, implying vma->vm_private_data was NULL. This is apparently
> because init_vdso_vars() is __initcall and runs after the rootfs gets populated.
> An experimental initrd containing an /sbin/hotplug binary caused this. Normally
> we don't have that file in the initrd. Should vdso init be done earlier to prevent
> this problem?

We've often had bugs like this. Sure it could be fixed here, but then
the next bug would crop up again later I bet.

It would be better to move the first user space code execution later I think.
I guess the hotplug events could be delayed or initrd just mounted later.

Running any user space before __initcall() has finished is just wrong.

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