lkml.org 
[lkml]   [2016]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: x86/stacktrace: add function for detecting reliable stack traces
+++ Josh Poimboeuf [25/03/16 14:34 -0500]:
>For live patching and possibly other use cases, a stack trace is only
>useful if you can be assured that it's completely reliable. Add a new
>save_stack_trace_tsk_reliable() function to achieve that.
>
>Scenarios which indicate that a stack strace may be unreliable:

s/strace/trace

>
>- interrupt stacks
>- preemption
>- corrupted stack data
>- newly forked tasks
>- running tasks
>- the user didn't provide a large enough entries array
>
>Also add a config option so arch-independent code can determine at build
>time whether the function is implemented.
>
>Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
>---
> arch/Kconfig | 6 ++++++
> arch/x86/Kconfig | 1 +
> arch/x86/kernel/dumpstack.c | 36 ++++++++++++++++++++++++++++++++++++
> arch/x86/kernel/stacktrace.c | 32 ++++++++++++++++++++++++++++++++
> include/linux/stacktrace.h | 20 ++++++++++++++++----
> kernel/stacktrace.c | 4 ++--
> lib/Kconfig.debug | 6 ++++++
> 7 files changed, 99 insertions(+), 6 deletions(-)
>
>diff --git a/arch/Kconfig b/arch/Kconfig
>index 81869a5..68b95f1 100644
>--- a/arch/Kconfig
>+++ b/arch/Kconfig
>@@ -589,6 +589,12 @@ config HAVE_STACK_VALIDATION
> Architecture supports the 'objtool check' host tool command, which
> performs compile-time stack metadata validation.
>
>+config HAVE_RELIABLE_STACKTRACE
>+ bool
>+ help
>+ Architecure has a save_stack_trace_tsk_reliable() function which only

s/Architecure/Architecture

\
 
 \ /
  Last update: 2016-04-11 05:41    [W:0.508 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site