]> err.no Git - linux-2.6/commitdiff
x86: use helper in fault_64.c
authorHarvey Harrison <harvey.harrison@gmail.com>
Wed, 30 Jan 2008 12:31:42 +0000 (13:31 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:31:42 +0000 (13:31 +0100)
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>
arch/x86/mm/fault_64.c
include/asm-x86/uaccess_64.h

index 121c7bda6297d939c5f99cc2e908741645ed92c0..3a94941578fab1420f00d71d8eb72a20cc1c1375 100644 (file)
@@ -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;
        }
 
index f4ce8768ad443648fc637bf1cdb128e25a4f8a44..31d79470271942af7e4f8449294761b0d383b619 100644 (file)
@@ -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
 
 /*