From: Jeff Dike Date: Sun, 6 May 2007 21:51:39 +0000 (-0700) Subject: uml: dump core on panic X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=63843c265fd0e0c7894f713e0db5777560e756ae;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git uml: dump core on panic Dump core after a panic. This will provide better debugging information than is currently available. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/um/include/os.h b/arch/um/include/os.h index b463170a5308..901804db3c35 100644 --- a/arch/um/include/os.h +++ b/arch/um/include/os.h @@ -279,6 +279,7 @@ extern int raw(int fd); extern void setup_machinename(char *machine_out); extern void setup_hostinfo(char *buf, int len); extern int setjmp_wrapper(void (*proc)(void *, void *), ...); +extern void os_dump_core(void); /* time.c */ #define BILLION (1000 * 1000 * 1000) diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c index 9bf31533a8fd..1cf954a47fd7 100644 --- a/arch/um/kernel/um_arch.c +++ b/arch/um/kernel/um_arch.c @@ -474,7 +474,7 @@ static int panic_exit(struct notifier_block *self, unsigned long unused1, show_regs(&(current->thread.regs)); bust_spinlocks(0); uml_exitcode = 1; - machine_halt(); + os_dump_core(); return 0; } diff --git a/arch/um/os-Linux/util.c b/arch/um/os-Linux/util.c index 48bc4927b996..c307a89ed259 100644 --- a/arch/um/os-Linux/util.c +++ b/arch/um/os-Linux/util.c @@ -119,3 +119,9 @@ int setjmp_wrapper(void (*proc)(void *, void *), ...) va_end(args); return n; } + +void os_dump_core(void) +{ + signal(SIGSEGV, SIG_DFL); + abort(); +}