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

Commit 3fa7c794 authored by Andi Kleen's avatar Andi Kleen Committed by Andi Kleen
Browse files

[PATCH] Avoid recursion in lockdep when stack tracer takes locks



The new dwarf2 unwinder needs to take locks to do backtraces
inside modules. This patch makes sure lockdep which calls
stacktrace is not reentered.

Thanks to Ingo for suggesting this simpler approach.

Cc: mingo@elte.hu
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent 5a1b3999
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -227,7 +227,11 @@ static int save_trace(struct stack_trace *trace)
	trace->skip = 3;
	trace->all_contexts = 0;

	/* Make sure to not recurse in case the the unwinder needs to tak
e	   locks. */
	lockdep_off();
	save_stack_trace(trace, NULL);
	lockdep_on();

	trace->max_entries = trace->nr_entries;