aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-01-30 07:31:42 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:42 -0500
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,
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:
508no_context: 507no_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 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
65 unsigned long insn, fixup; 65 unsigned long insn, fixup;
66}; 66};
67 67
68extern int fixup_exception(struct pt_regs *regs);
69
68#define ARCH_HAS_SEARCH_EXTABLE 70#define ARCH_HAS_SEARCH_EXTABLE
69 71
70/* 72/*