If no unwinding is possible at all for a certain exception instance, fall back to the old style call trace instead of not showing any trace at all. Also, allow setting the stack trace mode at the command line.
Showing the changes to kernel/unwind.c (1 of 6 files). Show all
Unified · Split
| @@ -885,14 +885,13 @@ EXPORT_SYMBOL(unwind_init_blocked); · 884 unmodified lines | ||
| 885 | 885 | * Prepare to unwind the currently running thread. |
| 886 | 886 | */ |
| 887 | 887 | int unwind_init_running(struct unwind_frame_info *info, |
| 888 | − asmlinkage void (*callback)(struct unwind_frame_info *, | |
| 889 | − void *arg), | |
| 888 | + asmlinkage int (*callback)(struct unwind_frame_info *, | |
| 889 | + void *arg), | |
| 890 | 890 | void *arg) |
| 891 | 891 | { |
| 892 | 892 | info->task = current; |
| 893 | − arch_unwind_init_running(info, callback, arg); | |
| 894 | 893 | |
| 895 | − return 0; | |
| 894 | + return arch_unwind_init_running(info, callback, arg); | |
| 896 | 895 | } |
| 897 | 896 | EXPORT_SYMBOL(unwind_init_running); |
| 898 | 897 | |