Re: [PATCH v3 2/3] hvc_init(): Enforce one-time initialization.
From: Rusty Russell <hidden>
Date: 2011-11-13 23:15:39
Also in:
lkml, virtualization, xen-devel
From: Rusty Russell <hidden>
Date: 2011-11-13 23:15:39
Also in:
lkml, virtualization, xen-devel
On Tue, 08 Nov 2011 13:45:04 -0800, Miche Baker-Harvey [off-list ref] wrote:
hvc_init() must only be called once, and no thread should continue with hvc_alloc() until after initialization is complete. The original code does not enforce either of these requirements. A new mutex limits entry to hvc_init() to a single thread, and blocks all later comers until it has completed. This patch fixes multiple crash symptoms.
No, it doesn't: not now your previous double-hvc_init patch has been
reverted.
It's easy to show this is the case though: replace mutex_lock() with:
if (!mutex_trylock()) {
WARN(1, "hvc_console: mutex is stopping us!\n");
mutex_lock();
}
If you get that warning, then your mutex is doing something.
Thanks,
Rusty.