| .. | .. |
|---|
| 26 | 26 | |
|---|
| 27 | 27 | static void _send_sig(int signo, int code, unsigned long addr) |
|---|
| 28 | 28 | { |
|---|
| 29 | | - force_sig_fault(signo, code, (void __user *) addr, current); |
|---|
| 29 | + force_sig_fault(signo, code, (void __user *) addr); |
|---|
| 30 | 30 | } |
|---|
| 31 | 31 | |
|---|
| 32 | 32 | void die(const char *str, struct pt_regs *regs, long err) |
|---|
| .. | .. |
|---|
| 52 | 52 | } |
|---|
| 53 | 53 | |
|---|
| 54 | 54 | /* |
|---|
| 55 | | - * The show_stack is an external API which we do not use ourselves. |
|---|
| 55 | + * The show_stack() is external API which we do not use ourselves. |
|---|
| 56 | 56 | */ |
|---|
| 57 | 57 | |
|---|
| 58 | 58 | int kstack_depth_to_print = 48; |
|---|
| 59 | 59 | |
|---|
| 60 | | -void show_stack(struct task_struct *task, unsigned long *stack) |
|---|
| 60 | +void show_stack(struct task_struct *task, unsigned long *stack, |
|---|
| 61 | + const char *loglvl) |
|---|
| 61 | 62 | { |
|---|
| 62 | 63 | unsigned long *endstack, addr; |
|---|
| 63 | 64 | int i; |
|---|
| .. | .. |
|---|
| 72 | 73 | addr = (unsigned long) stack; |
|---|
| 73 | 74 | endstack = (unsigned long *) PAGE_ALIGN(addr); |
|---|
| 74 | 75 | |
|---|
| 75 | | - pr_emerg("Stack from %08lx:", (unsigned long)stack); |
|---|
| 76 | + printk("%sStack from %08lx:", loglvl, (unsigned long)stack); |
|---|
| 76 | 77 | for (i = 0; i < kstack_depth_to_print; i++) { |
|---|
| 77 | 78 | if (stack + 1 > endstack) |
|---|
| 78 | 79 | break; |
|---|
| 79 | 80 | if (i % 8 == 0) |
|---|
| 80 | | - pr_emerg("\n "); |
|---|
| 81 | | - pr_emerg(" %08lx", *stack++); |
|---|
| 81 | + printk("%s\n ", loglvl); |
|---|
| 82 | + printk("%s %08lx", loglvl, *stack++); |
|---|
| 82 | 83 | } |
|---|
| 83 | 84 | |
|---|
| 84 | | - pr_emerg("\nCall Trace:"); |
|---|
| 85 | + printk("%s\nCall Trace:", loglvl); |
|---|
| 85 | 86 | i = 0; |
|---|
| 86 | 87 | while (stack + 1 <= endstack) { |
|---|
| 87 | 88 | addr = *stack++; |
|---|
| .. | .. |
|---|
| 97 | 98 | (addr <= (unsigned long) _etext))) { |
|---|
| 98 | 99 | if (i % 4 == 0) |
|---|
| 99 | 100 | pr_emerg("\n "); |
|---|
| 100 | | - pr_emerg(" [<%08lx>]", addr); |
|---|
| 101 | + printk("%s [<%08lx>]", loglvl, addr); |
|---|
| 101 | 102 | i++; |
|---|
| 102 | 103 | } |
|---|
| 103 | 104 | } |
|---|
| 104 | | - pr_emerg("\n"); |
|---|
| 105 | + printk("%s\n", loglvl); |
|---|
| 105 | 106 | } |
|---|
| 106 | 107 | |
|---|
| 107 | 108 | void __init trap_init(void) |
|---|