diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-02-06 08:42:54 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-06 08:42:54 -0500 |
commit | 0464ac9ebd90cfd5792d3c1158af848281b7eb09 (patch) | |
tree | ab4419845b9e7ae3417741f34cfab6acd00754aa /arch/x86/mm/fault.c | |
parent | 0973a06cde8cc1522fbcf2baacb926f1ee3f4c79 (diff) | |
parent | 9be260a646bf76fa418ee519afa10196b3164681 (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.c | 7 |
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. |