bfeeeeb991
This patch makes the stacktrace printout code \warn when the entries pointer is unset rather than crashing when trying to access it in an attempt to make it a bit more robust. I was saving a stacktrace into an skb and forgot to copy it across skb copies... I have since fixed the code, but it would have been easier had the kernel not crashed in an interrupt. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
28 lines
504 B
C
28 lines
504 B
C
/*
|
|
* kernel/stacktrace.c
|
|
*
|
|
* Stack trace management functions
|
|
*
|
|
* Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
|
|
*/
|
|
#include <linux/sched.h>
|
|
#include <linux/kallsyms.h>
|
|
#include <linux/stacktrace.h>
|
|
|
|
void print_stack_trace(struct stack_trace *trace, int spaces)
|
|
{
|
|
int i, j;
|
|
|
|
if (WARN_ON(!trace->entries))
|
|
return;
|
|
|
|
for (i = 0; i < trace->nr_entries; i++) {
|
|
unsigned long ip = trace->entries[i];
|
|
|
|
for (j = 0; j < spaces + 1; j++)
|
|
printk(" ");
|
|
print_ip_sym(ip);
|
|
}
|
|
}
|
|
|