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

From: Chuck Ebbert
Date: Thu Dec 06 2007 - 16:10:58 EST


On 12/06/2007 03:51 PM, Andi Kleen wrote:
> 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.

It was suggested that I just make the uevent_helper an empty string,
since that's what our (Fedora) initrd does anyway when it starts.

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

I thought that was a feature, so some early userspace code could help bring
up devices.
--
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/