Re: [RFC PATCH 02/10] objtool, x86: add several functions and files to the objtool whitelist

From: Josh Poimboeuf
Date: Wed Jun 14 2017 - 09:03:53 EST


On Wed, Jun 14, 2017 at 09:24:39AM +0200, Jiri Slaby wrote:
> On 06/01/2017, 07:44 AM, Josh Poimboeuf wrote:
> ...
> > --- a/arch/x86/kernel/kprobes/opt.c
> > +++ b/arch/x86/kernel/kprobes/opt.c
> > @@ -28,6 +28,7 @@
> > #include <linux/kdebug.h>
> > #include <linux/kallsyms.h>
> > #include <linux/ftrace.h>
> > +#include <linux/frame.h>
> >
> > #include <asm/text-patching.h>
> > #include <asm/cacheflush.h>
> > @@ -94,6 +95,7 @@ static void synthesize_set_arg1(kprobe_opcode_t *addr, unsigned long val)
> > }
> >
> > asm (
> > + "optprobe_template_func:\n"
>
> Why do you add another symbol here? What's wrong with
> optprobe_template_entry?

I tried to do that, but the STACK_FRAME_NON_STANDARD macro needs a
function, and optprobe_template_entry is defined elsewhere as a data
symbol with a type of kprobe_opcode_t. So I had to wrap the asm code
inside a function.

--
Josh