> > > + if (kprobe_running() && kprobe_fault_handler(regs, trapnr))
> > > + return;
> > > if (!(regs->xcs & 3))
> > > goto kernel_trap;
> > The kprobe check should be after the kernel_trap label.
>
> No. The entire *point* of being able to register a kprobe fault
> handler is to be able to handle any kernel faults yourself if you want
> to.
It seems you have misunderstood my point.
My idea is that since kprobes are only used for kernel mode address, we
should move the kprobe check in the code that executes after we check
that the fault is happening in kernel mode.
Soemthing like this:
if (!(regs->xcs & 3))
goto kernel_trap;
[...]
kernel_trap:
if (kprobe_running() && kprobe_fault_handler(regs, trapnr))
return;
This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:21 EST