Re: Detecting kprobes generated code addresses

From: Masami Hiramatsu
Date: Sun Dec 25 2016 - 23:30:55 EST


On Sun, 25 Dec 2016 15:16:00 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> On Sun, 25 Dec 2016 12:13:20 +0900
> Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
>
> > On Thu, 22 Dec 2016 00:42:19 -0600
> > Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > > Hi Masami,
> > >
> > > I would like to make __kernel_text_address() be able to detect whether
> > > an address belongs to code which was generated by kprobes. As far as I
> > > can tell, that information seems to be in the 'pages' lists of
> > > kprobe_insn_slots and kprobe_optinsn_slots. But they seem to be
> > > protected by mutexes.
> >
> > Right. It is currently under mutex because it may kick
> > page allocation. But I think it is easy to fix that :)
>
> Hmm, IMHO, it seems that we should add a dummy (auto-generated)
> symbol for optprobe trampoline code to kallsyms so that
> __kernel_text_address() automatically returns true on it.

Sorry, I reconsidered this idea and conclude it was overkill.
As same as ftrace does, maybe it is enough to add a check
routine to __kernel_text_address().

Thanks,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>