Reading /proc/<pid>/stack for a running task (other than current) can print garbage because the saved stack pointer is no longer accurate and the stack itself can be inconsistent.
Add new sched and stacktrace functions so that /proc/<pid>/stack only walks the stack for sleeping tasks and the current task. The new sched_task_call() function will also be useful for future live patching code which will need to atomically examine a task's stack before patching it. Josh Poimboeuf (3): sched: add sched_task_call() stacktrace: add save_stack_trace_tsk_safe() proc: fix /proc/<pid>/stack for running tasks fs/proc/base.c | 2 +- include/linux/sched.h | 4 ++++ include/linux/stacktrace.h | 2 ++ kernel/sched/core.c | 17 +++++++++++++++++ kernel/stacktrace.c | 22 ++++++++++++++++++++++ 5 files changed, 46 insertions(+), 1 deletion(-) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/