From: Andi Kleen Date: Tue, 26 Sep 2006 08:52:38 +0000 (+0200) Subject: [PATCH] Don't use kernel_text_address in oops context X-Git-Tag: v2.6.19-rc1~1077^2~53 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8c7391de4cd91b2cbb0c791f69ba1e066595848;p=linux-2.6 [PATCH] Don't use kernel_text_address in oops context Because it can take spinlocks. Suggested by Mathieu Desnoyers Cc: Mathieu Desnoyers Signed-off-by: Andi Kleen --- diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index fb8486eca1..01f2a8d254 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c @@ -299,7 +299,9 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs, unsigned long * s #define HANDLE_STACK(cond) \ do while (cond) { \ unsigned long addr = *stack++; \ - if (kernel_text_address(addr)) { \ + if (oops_in_progress ? \ + __kernel_text_address(addr) : \ + kernel_text_address(addr)) { \ /* \ * If the address is either in the text segment of the \ * kernel, or in the region which contains vmalloc'ed \