lkml.org 
[lkml]   [2008]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] kexec: fix hang on i386 when panic occurs while console_sem is held

* Neil Horman <nhorman@tuxdriver.com> wrote:

> Hey all-
> Theres a corner case in 32 bit x86 kdump at the moment. When
> the box panics via nmi, we call bust_spinlocks(1) to disable
> sensitivity to the console_sem (allowing us to print to the console in
> all cases), but we don't call crash_kexec, until after we call
> bust_spinlocks(0), which re-enables console_sem sensitivity. The
> result is that, if we get an nmi while the console_sem is held and
> kdump is configured, and we try to print something to the console
> during kdump shutdown (which we often do) we deadlock the box. The
> fix is to simply do what 64 bit die_nmi does which is to not call
> bust_spinlocks(0) until after we call crash_kexec. Patch below tested
> successfully by me:

applied to tip/x86/urgent, thanks Neil!

> dumpstack_32.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

would be nice to unify this code some more - to create a new
arch/x86/kernel/dumpstack.c and fill it in with die_nmi() as a
beginning?

Ingo


\
 
 \ /
  Last update: 2008-10-20 14:17    [W:1.509 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site