This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: automated way to find functions that we might want to blacklist
- From: David Smith <dsmith at redhat dot com>
- To: systemtap at sourceware dot org
- Date: Tue, 17 Jan 2012 14:18:26 -0600
- Subject: Re: automated way to find functions that we might want to blacklist
- References: <84bor03ij9.fsf@sauna.l.org> <20111223211030.GA23631@sli.dy.fi> <20120115214402.GG6309@sli.dy.fi>
On 01/15/2012 03:44 PM, Sami Liedes wrote:
> Probing any of these functions (eventually) crashes Debian testing's
> kernel 3.1.x:
A couple of these don't make any sense to me:
> * hash_64
> * hash_ptr
There is nothing that those 2 functions do that can crash the kernel.
Those functions (should be) always inlined. I'd guess the problem isn't
those two functions, but the function that is calling them.
To test for true function calls, you *shouldn't* do:
# stap -e 'probe kernel.function("*") {}'
The above probes inlined functions and real function calls. Instead you
should do the equivalent of:
# stap -e 'probe kernel.function("*").call {}'
Another problem I see with your testing methodology is that you are
using xen. I don't think we've used xen in a while, but the xen kernel
always gave us different results than a regular kernel. I'd test on
bare metal or in a kvm instance.
I'll make one final comment here. In my mind the blacklist is a
semi-temporary thing (although we don't typically remove functions from
it). The real fix here is to get the crashing functions marked with
'__kprobes' in the upstream kernel. This fixes the problem for all
kprobes users, not just systemtap.
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)