lkml.org 
[lkml]   [2014]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] ftrace/x86/extable: Add is_ftrace_trampoline() function
On Wed, 19 Nov 2014 19:29:25 +0100 (CET)
Thomas Gleixner <tglx@linutronix.de> wrote:

> On Wed, 19 Nov 2014, Steven Rostedt wrote:
> > From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
> > Date: Tue, 18 Nov 2014 21:14:11 -0500
> > Subject: [PATCH] ftrace/x86/extable: Add is_ftrace_trampoline() function
> >
> > Stack traces that happen from function tracing check if the address
> > on the stack is a __kernel_text_address(). That is, is the address
> > kernel code. This calls core_kernel_text() which returns true
> > if the address is part of the builtin kernel code. It also calls
> > is_module_text_address() which returns true if the address belongs
> > to module code.
> >
> > But what is missing is ftrace dynamically allocated trampolines.
> > These trampolines are allocated for individual ftrace_ops that
> > call the ftrace_ops callback functions directly. But if they do a
> > stack trace, the code checking the stack wont detect them as they
> > are neither core kernel code nor module address space.
> >
> > Adding another field to ftrace_ops that also stores the size of
> > the trampoline assigned to it we can create a new function called
> > is_ftrace_trampoline() that returns true if the address is a
> > dynamically allocate ftrace trampoline. Note, it ignores trampolines
> > that are not dynamically allocated as they will return true with
> > the core_kernel_text() function.
> >
> > Link: http://lkml.kernel.org/r/20141119034829.497125839@goodmis.org
> >
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: "H. Peter Anvin" <hpa@zytor.com>
> > Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
>
> Acked-by: Thomas Gleixner <tglx@linutronix.de>

Thanks!

-- Steve


\
 
 \ /
  Last update: 2014-11-19 21:21    [W:0.100 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site