This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: automated way to find functions that we might want to blacklist


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]