Re: shm updates broke UML

From: Vasiliy Kulikov
Date: Mon Aug 01 2011 - 13:32:20 EST


Marc,

On Mon, Aug 01, 2011 at 21:24 +0400, Vasiliy Kulikov wrote:
> On Mon, Aug 01, 2011 at 19:19 +0200, Marc Zyngier wrote:
> > Here you go (sorry about the line wrapping, damned webmail...):
>
> Thank you! Now I see that the problem is rw_mutex is not initialized:
>
> down_write(&shm_ids(ns).rw_mutex);
>
> void __sched __down_write_nested(struct rw_semaphore *sem, int subclass)
> {
> ...
> if (sem->activity == 0 && list_empty(&sem->wait_list)) {
> ^^^^^^^^^^^^^^^ is NULL
>
> Wtf - ipc namespace should be fully initialized for the moment of
> threads run...

Does ARM try to run _any_ threads before do_initcalls()? IPC
initialization is initcall, so any thread before do_initcalls() is a
dependency bug.

static void __init do_basic_setup(void)
{
cpuset_init_smp();
usermodehelper_init();
init_tmpfs();
driver_init();
init_irq_proc();
do_ctors();
do_initcalls(); <<<<
}

Thanks,

--
Vasiliy Kulikov
http://www.openwall.com - bringing security into open computing environments
--
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/