aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-01-30 13:31:42 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:31:42 +0100
commit85f2adf16955460c98131360f3d76aeb51aba073 (patch)
tree07feccde929bd61c19d4513a6df3c0b3cc11ec60
parent6d48583ba9ade609634e694fc35ea62b7a8adaaa (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.c5
-rw-r--r--include/asm-x86/uaccess_64.h2
2 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/mm/fault_64.c b/arch/x86/mm/fault_64.c
index 121c7bda629..3a94941578f 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,
struct mm_struct *mm;
struct vm_area_struct * vma;
unsigned long address;
- const struct exception_table_entry *fixup;
int write, fault;
unsigned long flags;
siginfo_t info;
@@ -508,9 +507,7 @@ bad_area_nosemaphore:
no_context:
/* Are we prepared to handle this kernel fault? */
- fixup = search_exception_tables(regs->ip);
- if (fixup) {
- regs->ip = fixup->fixup;
+ if (fixup_exception(regs)) {
return;
}
diff --git a/include/asm-x86/uaccess_64.h b/include/asm-x86/uaccess_64.h
index f4ce8768ad4..31d79470271 100644
--- a/include/asm-x86/uaccess_64.h
+++ b/include/asm-x86/uaccess_64.h
@@ -65,6 +65,8 @@ struct exception_table_entry
unsigned long insn, fixup;
};
+extern int fixup_exception(struct pt_regs *regs);
+
#define ARCH_HAS_SEARCH_EXTABLE
/*