xref: /linux-6.15/kernel/stacktrace.c (revision bfeeeeb9)
18637c099SIngo Molnar /*
28637c099SIngo Molnar  * kernel/stacktrace.c
38637c099SIngo Molnar  *
48637c099SIngo Molnar  * Stack trace management functions
58637c099SIngo Molnar  *
68637c099SIngo Molnar  *  Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <[email protected]>
78637c099SIngo Molnar  */
88637c099SIngo Molnar #include <linux/sched.h>
98637c099SIngo Molnar #include <linux/kallsyms.h>
108637c099SIngo Molnar #include <linux/stacktrace.h>
118637c099SIngo Molnar 
128637c099SIngo Molnar void print_stack_trace(struct stack_trace *trace, int spaces)
138637c099SIngo Molnar {
148637c099SIngo Molnar 	int i, j;
158637c099SIngo Molnar 
16*bfeeeeb9SJohannes Berg 	if (WARN_ON(!trace->entries))
17*bfeeeeb9SJohannes Berg 		return;
18*bfeeeeb9SJohannes Berg 
198637c099SIngo Molnar 	for (i = 0; i < trace->nr_entries; i++) {
208637c099SIngo Molnar 		unsigned long ip = trace->entries[i];
218637c099SIngo Molnar 
228637c099SIngo Molnar 		for (j = 0; j < spaces + 1; j++)
238637c099SIngo Molnar 			printk(" ");
248637c099SIngo Molnar 		print_ip_sym(ip);
258637c099SIngo Molnar 	}
268637c099SIngo Molnar }
278637c099SIngo Molnar 
28