Loading arch/arm/mm/fault.c +22 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include "fault.h" #ifdef CONFIG_MMU #ifdef CONFIG_KPROBES static inline int notify_page_fault(struct pt_regs *regs, unsigned int fsr) Loading Loading @@ -97,6 +98,10 @@ void show_pte(struct mm_struct *mm, unsigned long addr) printk("\n"); } #else /* CONFIG_MMU */ void show_pte(struct mm_struct *mm, unsigned long addr) { } #endif /* CONFIG_MMU */ /* * Oops. The kernel tried to access some page that wasn't present. Loading Loading @@ -171,6 +176,7 @@ void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs) __do_kernel_fault(mm, addr, fsr, regs); } #ifdef CONFIG_MMU #define VM_FAULT_BADMAP 0x010000 #define VM_FAULT_BADACCESS 0x020000 Loading Loading @@ -322,6 +328,13 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) __do_kernel_fault(mm, addr, fsr, regs); return 0; } #else /* CONFIG_MMU */ static int do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { return 0; } #endif /* CONFIG_MMU */ /* * First Level Translation Fault Handler Loading @@ -340,6 +353,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) * interrupt or a critical region, and should only copy the information * from the master page table, nothing more. */ #ifdef CONFIG_MMU static int __kprobes do_translation_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) Loading Loading @@ -378,6 +392,14 @@ do_translation_fault(unsigned long addr, unsigned int fsr, do_bad_area(addr, fsr, regs); return 0; } #else /* CONFIG_MMU */ static int do_translation_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { return 0; } #endif /* CONFIG_MMU */ /* * Some section permission faults need to be handled gracefully. Loading Loading
arch/arm/mm/fault.c +22 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include "fault.h" #ifdef CONFIG_MMU #ifdef CONFIG_KPROBES static inline int notify_page_fault(struct pt_regs *regs, unsigned int fsr) Loading Loading @@ -97,6 +98,10 @@ void show_pte(struct mm_struct *mm, unsigned long addr) printk("\n"); } #else /* CONFIG_MMU */ void show_pte(struct mm_struct *mm, unsigned long addr) { } #endif /* CONFIG_MMU */ /* * Oops. The kernel tried to access some page that wasn't present. Loading Loading @@ -171,6 +176,7 @@ void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs) __do_kernel_fault(mm, addr, fsr, regs); } #ifdef CONFIG_MMU #define VM_FAULT_BADMAP 0x010000 #define VM_FAULT_BADACCESS 0x020000 Loading Loading @@ -322,6 +328,13 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) __do_kernel_fault(mm, addr, fsr, regs); return 0; } #else /* CONFIG_MMU */ static int do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { return 0; } #endif /* CONFIG_MMU */ /* * First Level Translation Fault Handler Loading @@ -340,6 +353,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) * interrupt or a critical region, and should only copy the information * from the master page table, nothing more. */ #ifdef CONFIG_MMU static int __kprobes do_translation_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) Loading Loading @@ -378,6 +392,14 @@ do_translation_fault(unsigned long addr, unsigned int fsr, do_bad_area(addr, fsr, regs); return 0; } #else /* CONFIG_MMU */ static int do_translation_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { return 0; } #endif /* CONFIG_MMU */ /* * Some section permission faults need to be handled gracefully. Loading