This is the mail archive of the systemtap@sources.redhat.com 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: kprobe_handler should check pre_handler function


Ananth N Mavinakayanahalli wrote:
On Mon, Mar 28, 2005 at 04:10:32PM -0500, William Cohen wrote:

Hi Will,


I found kprobes expects there to be a pre_handler function in the structure. I was writing a probe that only needed a post_handler function, no pre_handler function. The probe was tracking the destinations of indirect calls and jumps, the probe needs to fire after the instruction single steps to get the target address. The probe crashed the machine because arch/i386/kernel/kprobe.c:kprobe_handler() blindly calls p->pre_handler(). There should be a check to verify that the pointer is non-null. There are cases where the pre_handler is not needed and it would make sense to set it to NULL. Thus, a check should be done for pre_handler like post_handler and fault_handler.


You are right. The check for pre_handler is needed and here is a patch
against 2.6.12-rc1-mm3 that does this.

Thanks,
Ananth

Ananth,


Thanks. It looks like it addresses the problem. Could you see about getting this patch in the upstream kernel?

-Will



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