kprobe_handler should check pre_handler function
Ananth N Mavinakayanahalli
ananth@in.ibm.com
Tue Mar 29 19:18:00 GMT 2005
On Tue, Mar 29, 2005 at 02:18:02PM -0500, William Cohen wrote:
> 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,
I think Andrew now has this in his patchset. It will probably be in the
next -mm.
Thanks,
Ananth
More information about the Systemtap
mailing list