x86/dumpstack: Pin the target stack when dumping it
[cascardo/linux.git] / arch / x86 / kernel / dumpstack_64.c
index 8cb6004..16c0d5f 100644 (file)
@@ -218,6 +218,9 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
        unsigned long *stack;
        int i;
 
+       if (!try_get_task_stack(task))
+               return;
+
        irq_stack_end = (unsigned long *)this_cpu_read(irq_stack_ptr);
        irq_stack     = irq_stack_end - (IRQ_STACK_SIZE / sizeof(long));
 
@@ -253,6 +256,8 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
 
        pr_cont("\n");
        show_trace_log_lvl(task, regs, sp, bp, log_lvl);
+
+       put_task_stack(task);
 }
 
 void show_regs(struct pt_regs *regs)