Re: [PATCH 1/2] kprobes: Introduce kprobe_handle_fault()

From: Harvey Harrison
Date: Fri Feb 29 2008 - 11:30:57 EST


On Fri, Feb 29, 2008 at 3:16 AM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, 02 Feb 2008 19:00:23 -0800 Harvey Harrison <harvey.harrison@xxxxxxxxx> wrote:
>
> > Use a central kprobe_handle_fault() inline in kprobes.h to remove
> > all of the arch-dependant, practically identical implementations in
> > avr32, ia64, powerpc, s390, sparc64, and x86.
> >
> > avr32 was the only arch without the preempt_disable/enable pair
> > in its notify_page_fault implementation.
> >
> > This uncovered a possible bug in the s390 version as that purely
> > copied the x86 version unconditionally passing 14 as the trapnr
> > rather than the error_code parameter. s390 is changed to pass
> > error_code in this patch.
> >
> > Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx>
> > ---
> > Andrew, 1/2 is low risk, 2/2 has been tested on x86-32 and 64,
> > but the !preemptible invariant seems correct.
> >
> > arch/arm/mm/fault.c | 25 +------------------------
> > arch/avr32/mm/fault.c | 21 +--------------------
> > arch/ia64/mm/fault.c | 24 +-----------------------
> > arch/powerpc/mm/fault.c | 25 +------------------------
> > arch/s390/mm/fault.c | 25 +------------------------
> > arch/sparc64/mm/fault.c | 23 +----------------------
> > arch/x86/mm/fault.c | 26 ++------------------------
> > include/linux/kprobes.h | 20 ++++++++++++++++++++
> > 8 files changed, 28 insertions(+), 161 deletions(-)
>
> Breaks the ia64 build:
>
> include/linux/kprobes.h: In function `kprobe_handle_fault':
> include/linux/kprobes.h:234: error: implicit declaration of function `kprobe_fault_handler'
>
> and ia64 doesn't implement kprobe_fault_handler() so there's no easy fix
> here.

Yes there is, ia64 apparently called theirs kprobes_handle_fault, sorry I didn't
notice the extra 's'. Want a new patch, or will you change the three
occurances?

Harvey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/