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. There's too much inlining in linux/kprobes.h, btw. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html