diff options
-rw-r--r-- | arch/tile/kernel/stack.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/tile/kernel/stack.c b/arch/tile/kernel/stack.c index 402b9c85a894..22bbbd3ff4a3 100644 --- a/arch/tile/kernel/stack.c +++ b/arch/tile/kernel/stack.c | |||
@@ -78,8 +78,7 @@ static bool read_memory_func(void *result, unsigned long address, | |||
78 | /* Return a pt_regs pointer for a valid fault handler frame */ | 78 | /* Return a pt_regs pointer for a valid fault handler frame */ |
79 | static struct pt_regs *valid_fault_handler(struct KBacktraceIterator* kbt) | 79 | static struct pt_regs *valid_fault_handler(struct KBacktraceIterator* kbt) |
80 | { | 80 | { |
81 | const char *fault = NULL; /* happy compiler */ | 81 | char fault[64]; |
82 | char fault_buf[64]; | ||
83 | unsigned long sp = kbt->it.sp; | 82 | unsigned long sp = kbt->it.sp; |
84 | struct pt_regs *p; | 83 | struct pt_regs *p; |
85 | 84 | ||
@@ -90,14 +89,14 @@ static struct pt_regs *valid_fault_handler(struct KBacktraceIterator* kbt) | |||
90 | if (!in_kernel_stack(kbt, sp + C_ABI_SAVE_AREA_SIZE + PTREGS_SIZE-1)) | 89 | if (!in_kernel_stack(kbt, sp + C_ABI_SAVE_AREA_SIZE + PTREGS_SIZE-1)) |
91 | return NULL; | 90 | return NULL; |
92 | p = (struct pt_regs *)(sp + C_ABI_SAVE_AREA_SIZE); | 91 | p = (struct pt_regs *)(sp + C_ABI_SAVE_AREA_SIZE); |
93 | if (p->faultnum == INT_SWINT_1 || p->faultnum == INT_SWINT_1_SIGRETURN) | 92 | if (kbt->verbose) { /* else we aren't going to use it */ |
94 | fault = "syscall"; | 93 | if (p->faultnum == INT_SWINT_1 || |
95 | else { | 94 | p->faultnum == INT_SWINT_1_SIGRETURN) |
96 | if (kbt->verbose) { /* else we aren't going to use it */ | 95 | snprintf(fault, sizeof(fault), |
97 | snprintf(fault_buf, sizeof(fault_buf), | 96 | "syscall %ld", p->regs[TREG_SYSCALL_NR]); |
97 | else | ||
98 | snprintf(fault, sizeof(fault), | ||
98 | "interrupt %ld", p->faultnum); | 99 | "interrupt %ld", p->faultnum); |
99 | fault = fault_buf; | ||
100 | } | ||
101 | } | 100 | } |
102 | if (EX1_PL(p->ex1) == KERNEL_PL && | 101 | if (EX1_PL(p->ex1) == KERNEL_PL && |
103 | __kernel_text_address(p->pc) && | 102 | __kernel_text_address(p->pc) && |