Re: [PATCH] kprobes: x86_64: blacklist non-attachable interrupt functions

From: Andrea Righi
Date: Sat Dec 08 2018 - 02:09:32 EST


On Sat, Dec 08, 2018 at 12:48:59PM +0900, Masami Hiramatsu wrote:
> On Fri, 7 Dec 2018 18:58:05 +0100
> Andrea Righi <righi.andrea@xxxxxxxxx> wrote:
>
> > On Sat, Dec 08, 2018 at 01:01:20AM +0900, Masami Hiramatsu wrote:
> > > Hi Andrea and Ingo,
> > >
> > > Here is the patch what I meant. I just ran it on qemu-x86, and seemed working.
> > > After introducing this patch, I will start adding arch_populate_kprobe_blacklist()
> > > to some arches.
> > >
> > > Thank you,
> > >
> > > [RFC] kprobes: x86/kprobes: Blacklist symbols in arch-defined prohibited area
> > >
> > > From: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > >
> > > Blacklist symbols in arch-defined probe-prohibited areas.
> > > With this change, user can see all symbols which are prohibited
> > > to probe in debugfs.
> > >
> > > All archtectures which have custom prohibit areas should define
> > > its own arch_populate_kprobe_blacklist() function, but unless that,
> > > all symbols marked __kprobes are blacklisted.
> >
> > What about iterating all symbols and use arch_within_kprobe_blacklist()
> > to check if we need to blacklist them or not.
>
> Sorry, I don't want to iterate all ksyms since it may take a long time
> (especially embedded small devices.)
>
> >
> > In this way we don't have to introduce an
> > arch_populate_kprobe_blacklist() for each architecture.
>
> Hmm, I had a same idea, but there are some arch which prohibit probing
> extable entries (e.g. arm64.) For correctness of the blacklist, I think
> it should be listed (not entire the function body).
> I also rather like to remove arch_within_kprobe_blacklist() instead.

OK. Thanks.

-Andrea