Re: shm updates broke UML

From: Marc Zyngier
Date: Mon Aug 01 2011 - 13:43:20 EST


On 01/08/11 18:32, Vasiliy Kulikov wrote:
> 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.

I don't think it does anything different from other architectures.
The crash I'm observing seem to be from kworker, which is created from
an early_initcall (kernel/workqueue.c).

This looks very much like a generic problem to me.

M.
--
Jazz is not dead. It just smells funny...

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