[PATCH 0/3] prevent /proc//stack garbage for running tasks

Josh Poimboeuf
2015-02-16T18:53:29Z

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