diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2008-01-30 07:31:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:42 -0500 |
commit | 85f2adf16955460c98131360f3d76aeb51aba073 (patch) | |
tree | 07feccde929bd61c19d4513a6df3c0b3cc11ec60 | |
parent | 6d48583ba9ade609634e694fc35ea62b7a8adaaa (diff) |
x86: use helper in fault_64.c
Use the fixup_exception() helper in fault_64.c
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>
-rw-r--r-- | arch/x86/mm/fault_64.c | 5 | ||||
-rw-r--r-- | include/asm-x86/uaccess_64.h | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/mm/fault_64.c b/arch/x86/mm/fault_64.c index 121c7bda6297..3a94941578fa 100644 --- a/arch/x86/mm/fault_64.c +++ b/arch/x86/mm/fault_64.c | |||
@@ -298,7 +298,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, | |||
298 | struct mm_struct *mm; | 298 | struct mm_struct *mm; |
299 | struct vm_area_struct * vma; | 299 | struct vm_area_struct * vma; |
300 | unsigned long address; | 300 | unsigned long address; |
301 | const struct exception_table_entry *fixup; | ||
302 | int write, fault; | 301 | int write, fault; |
303 | unsigned long flags; | 302 | unsigned long flags; |
304 | siginfo_t info; | 303 | siginfo_t info; |
@@ -508,9 +507,7 @@ bad_area_nosemaphore: | |||
508 | no_context: | 507 | no_context: |
509 | 508 | ||
510 | /* Are we prepared to handle this kernel fault? */ | 509 | /* Are we prepared to handle this kernel fault? */ |
511 | fixup = search_exception_tables(regs->ip); | 510 | if (fixup_exception(regs)) { |
512 | if (fixup) { | ||
513 | regs->ip = fixup->fixup; | ||
514 | return; | 511 | return; |
515 | } | 512 | } |
516 | 513 | ||
diff --git a/include/asm-x86/uaccess_64.h b/include/asm-x86/uaccess_64.h index f4ce8768ad44..31d794702719 100644 --- a/include/asm-x86/uaccess_64.h +++ b/include/asm-x86/uaccess_64.h | |||
@@ -65,6 +65,8 @@ struct exception_table_entry | |||
65 | unsigned long insn, fixup; | 65 | unsigned long insn, fixup; |
66 | }; | 66 | }; |
67 | 67 | ||
68 | extern int fixup_exception(struct pt_regs *regs); | ||
69 | |||
68 | #define ARCH_HAS_SEARCH_EXTABLE | 70 | #define ARCH_HAS_SEARCH_EXTABLE |
69 | 71 | ||
70 | /* | 72 | /* |