aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/kprobes.c
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-01-30 07:31:41 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:41 -0500
commit6d48583ba9ade609634e694fc35ea62b7a8adaaa (patch)
treebc6e3bec5359b9136a8e53a9dbe80d71f9795f6b /arch/x86/kernel/kprobes.c
parent46265df040533f57c191bb2b019d6b25c3bf1f34 (diff)
x86: unify extable_{32|64}.c
Introduce fixup_exception() on 64-bit and use it in kprobes to eliminate an #ifdef. Only 64-bit needs search_extable() due to a stepping bug. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/kprobes.c')
-rw-r--r--arch/x86/kernel/kprobes.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
index 8de82c8cedd6..7848bf74e2ab 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -904,19 +904,9 @@ int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr)
904 * In case the user-specified fault handler returned 904 * In case the user-specified fault handler returned
905 * zero, try to fix up. 905 * zero, try to fix up.
906 */ 906 */
907#ifdef CONFIG_X86_64
908 {
909 const struct exception_table_entry *fixup;
910 fixup = search_exception_tables(regs->ip);
911 if (fixup) {
912 regs->ip = fixup->fixup;
913 return 1;
914 }
915 }
916#else
917 if (fixup_exception(regs)) 907 if (fixup_exception(regs))
918 return 1; 908 return 1;
919#endif 909
920 /* 910 /*
921 * fixup routine could not handle it, 911 * fixup routine could not handle it,
922 * Let do_page_fault() fix it. 912 * Let do_page_fault() fix it.