diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2008-01-30 07:31:41 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:41 -0500 |
commit | 6d48583ba9ade609634e694fc35ea62b7a8adaaa (patch) | |
tree | bc6e3bec5359b9136a8e53a9dbe80d71f9795f6b /arch/x86/kernel/kprobes.c | |
parent | 46265df040533f57c191bb2b019d6b25c3bf1f34 (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.c | 12 |
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. |