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

From: Josh Poimboeuf
Date: Mon Feb 16 2015 - 13:53:58 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/