Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 446f713b authored by Andi Kleen's avatar Andi Kleen Committed by Andi Kleen
Browse files

[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: default avatarAndi Kleen <ak@suse.de>
parent e2124bb8
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -317,9 +317,9 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
#define HANDLE_STACK(cond) \
#define HANDLE_STACK(cond) \
	do while (cond) { \
	do while (cond) { \
		unsigned long addr = *stack++; \
		unsigned long addr = *stack++; \
		if (oops_in_progress ? 		\
		/* Use unlocked access here because except for NMIs	\
			__kernel_text_address(addr) : \
		   we should be already protected against module unloads */ \
			kernel_text_address(addr)) { \
		if (__kernel_text_address(addr)) { \
			/* \
			/* \
			 * If the address is either in the text segment of the \
			 * If the address is either in the text segment of the \
			 * kernel, or in the region which contains vmalloc'ed \
			 * kernel, or in the region which contains vmalloc'ed \