.. | .. |
---|
71 | 71 | dump_stack_print_info(log_lvl); |
---|
72 | 72 | } |
---|
73 | 73 | |
---|
74 | | -static void __dump_stack(void) |
---|
| 74 | +static void __dump_stack(const char *log_lvl) |
---|
75 | 75 | { |
---|
76 | | - dump_stack_print_info(KERN_DEFAULT); |
---|
77 | | - show_stack(NULL, NULL); |
---|
| 76 | + dump_stack_print_info(log_lvl); |
---|
| 77 | + show_stack(NULL, NULL, log_lvl); |
---|
78 | 78 | } |
---|
79 | 79 | |
---|
80 | 80 | /** |
---|
.. | .. |
---|
85 | 85 | #ifdef CONFIG_SMP |
---|
86 | 86 | static atomic_t dump_lock = ATOMIC_INIT(-1); |
---|
87 | 87 | |
---|
88 | | -asmlinkage __visible void dump_stack(void) |
---|
| 88 | +asmlinkage __visible void dump_stack_lvl(const char *log_lvl) |
---|
89 | 89 | { |
---|
90 | 90 | unsigned long flags; |
---|
91 | 91 | int was_locked; |
---|
.. | .. |
---|
115 | 115 | goto retry; |
---|
116 | 116 | } |
---|
117 | 117 | |
---|
118 | | - __dump_stack(); |
---|
| 118 | + __dump_stack(log_lvl); |
---|
119 | 119 | |
---|
120 | 120 | if (!was_locked) |
---|
121 | 121 | atomic_set(&dump_lock, -1); |
---|
.. | .. |
---|
123 | 123 | local_irq_restore(flags); |
---|
124 | 124 | } |
---|
125 | 125 | #else |
---|
126 | | -asmlinkage __visible void dump_stack(void) |
---|
| 126 | +asmlinkage __visible void dump_stack_lvl(const char *log_lvl) |
---|
127 | 127 | { |
---|
128 | | - __dump_stack(); |
---|
| 128 | + __dump_stack(log_lvl); |
---|
129 | 129 | } |
---|
130 | 130 | #endif |
---|
| 131 | +EXPORT_SYMBOL(dump_stack_lvl); |
---|
| 132 | + |
---|
| 133 | +asmlinkage __visible void dump_stack(void) |
---|
| 134 | +{ |
---|
| 135 | + dump_stack_lvl(KERN_DEFAULT); |
---|
| 136 | +} |
---|
131 | 137 | EXPORT_SYMBOL(dump_stack); |
---|