aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 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:
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 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
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/*