[PATCH] unwinder: always use unlocked module list access in unwinder fallback

We're already well protected against module unloads because module
unload uses stop_machine(). The only exception is NMIs, but other
users already risk lockless accesses here.

This avoids some hackery in lockdep and also a potential deadlock

This matches what i386 does.

Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
Andi Kleen 2006-12-07 02:14:12 +01:00 committed by Andi Kleen
parent e2124bb8d3
commit 446f713ba1

View file

@ -317,9 +317,9 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
#define HANDLE_STACK(cond) \
do while (cond) { \
unsigned long addr = *stack++; \
if (oops_in_progress ? \
__kernel_text_address(addr) : \
kernel_text_address(addr)) { \
/* Use unlocked access here because except for NMIs \
we should be already protected against module unloads */ \
if (__kernel_text_address(addr)) { \
/* \
* If the address is either in the text segment of the \
* kernel, or in the region which contains vmalloc'ed \