This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Re: Re: Re: [PATCH -tip v3 00/23] kprobes: introduce NOKPROBE_SYMBOL() and general cleaning of kprobe blacklist
- From: Ingo Molnar <mingo at kernel dot org>
- To: Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>
- Cc: "Frank Ch. Eigler" <fche at redhat dot com>, linux-arch at vger dot kernel dot org, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Sandeepa Prabhu <sandeepa dot prabhu at linaro dot org>, x86 at kernel dot org, lkml <linux-kernel at vger dot kernel dot org>, "Steven Rostedt (Red Hat)" <rostedt at goodmis dot org>, virtualization at lists dot linux-foundation dot org, systemtap at sourceware dot org, "David S. Miller" <davem at davemloft dot net>
- Date: Sat, 30 Nov 2013 14:46:18 +0100
- Subject: Re: Re: Re: Re: [PATCH -tip v3 00/23] kprobes: introduce NOKPROBE_SYMBOL() and general cleaning of kprobe blacklist
- Authentication-results: sourceware.org; auth=none
- References: <20131120042148 dot 15296 dot 88360 dot stgit at kbuild-fedora dot novalocal> <y0mvbznxi6k dot fsf at fche dot csb> <20131120153801 dot GA9743 at gmail dot com> <20131120173600 dot GK8993 at redhat dot com> <528D6C9F dot 8050809 at hitachi dot com> <20131121072938 dot GA16912 at gmail dot com> <528EC2FF dot 30301 at hitachi dot com> <528F4406 dot 3090309 at hitachi dot com> <20131127133045 dot GC18422 at gmail dot com> <52971E66 dot 9080006 at hitachi dot com>
* Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> (2013/11/27 22:30), Ingo Molnar wrote:
> >
> > * Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> >
> >> (2013/11/22 11:35), Masami Hiramatsu wrote:
> >>> (2013/11/21 16:29), Ingo Molnar wrote:
> >>>>
> >>>> * Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> >>>>
> >>>>> (2013/11/21 2:36), Frank Ch. Eigler wrote:
> >>>>
> >>>> [ ... ]
> >>>>>> one needs to resort to something like:
> >>>>>>
> >>>>>> # cat /proc/kallsyms | grep ' [tT] ' | while read addr type symbol; do
> >>>>>> perf probe $symbol
> >>>>>> done
> >>>>>>
> >>>>>> then wait for a few hours for that to finish. Then, or while the loop
> >>>>>> is still running, run
> >>>>>>
> >>>>>> # perf record -e 'probe:*' -aR sleep 1
> >>>>>>
> >>>>>> to take a kernel down.
> >>>>>
> >>>>> Um, indeed, current blacklist is not perfect. [...]
> >>>>
> >>>> Then it needs to be fixed ASAP!
> >>>
> >>> OK, I see. At least the two patches included this series
> >>> should be fixed. :)
> >>>
> >>> And more, I need to test all symbols and drills down.
> >>
> >> OK, what I've found was;
> >> - The functions which can be ftraced look good.
> >> (see tracing/available_filter_functions)
> >> - following functions should not be able to be probed.
> >> - memcpy, memset
> >> - native_load_sp0 and some other native functions (need to be clear)
> >> - restore
> >> - trace_graph_return
> >> - trace_hardirqs_off_thunk, trace_hardirqs_on_thunk
> >> - This list still be not perfect. I just enabled/disabled kprobes
> >> one by one. There might be combined bugs (combination of several
> >> kprobes).
> >> - Some of them are hard to specify by NOKPROBE_SYMBOL because they are
> >> defined in assembly file.
> >>
> >> Anyway, to fix all of them, I think we need file-based blacklist
> >> especially for assembler symbols.
> >
> > assembler symbols shouldn't be particular hard either, just put them
> > into the noprobes section.
>
> Would you mean .kprobes.text? Hmm, I hope not to use it anymore, but
> yeah, bugfix is more important. Agreed.
No, why not put the symbol address into the 'blacklist' section,
within the asm file? We fill out exception table entries in .S files
as well, see the _ASM_EXTABLE() macro, it's possible to do all that.
It needs not a CPP macro but an assembly macro.
Thanks,
Ingo