aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/fault.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-06 08:42:54 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-06 08:42:54 -0500
commit0464ac9ebd90cfd5792d3c1158af848281b7eb09 (patch)
treeab4419845b9e7ae3417741f34cfab6acd00754aa /arch/x86/mm/fault.c
parent0973a06cde8cc1522fbcf2baacb926f1ee3f4c79 (diff)
parent9be260a646bf76fa418ee519afa10196b3164681 (diff)
Merge branch 'linus' into x86/mm
Conflicts: arch/x86/mm/fault.c
Diffstat (limited to 'arch/x86/mm/fault.c')
-rw-r--r--arch/x86/mm/fault.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 8e9b0f1fd872..817a78d5acaf 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -808,8 +808,6 @@ void __kprobes do_page_fault(struct pt_regs *regs, unsigned long error_code)
808 /* get the address */ 808 /* get the address */
809 address = read_cr2(); 809 address = read_cr2();
810 810
811 if (unlikely(notify_page_fault(regs)))
812 return;
813 if (unlikely(kmmio_fault(regs, address))) 811 if (unlikely(kmmio_fault(regs, address)))
814 return; 812 return;
815 813
@@ -835,6 +833,9 @@ void __kprobes do_page_fault(struct pt_regs *regs, unsigned long error_code)
835 if (spurious_fault(error_code, address)) 833 if (spurious_fault(error_code, address))
836 return; 834 return;
837 835
836 /* kprobes don't want to hook the spurious faults. */
837 if (notify_page_fault(regs))
838 return;
838 /* 839 /*
839 * Don't take the mm semaphore here. If we fixup a prefetch 840 * Don't take the mm semaphore here. If we fixup a prefetch
840 * fault we could otherwise deadlock. 841 * fault we could otherwise deadlock.
@@ -843,6 +844,8 @@ void __kprobes do_page_fault(struct pt_regs *regs, unsigned long error_code)
843 return; 844 return;
844 } 845 }
845 846
847 if (unlikely(notify_page_fault(regs)))
848 return;
846 /* 849 /*
847 * It's safe to allow irq's after cr2 has been saved and the 850 * It's safe to allow irq's after cr2 has been saved and the
848 * vmalloc fault has been handled. 851 * vmalloc fault has been handled.