Modify Data storage exception code to first lookout for a DABR match before
recognising a kprobe or xmon exception.

Signed-off-by: K.Prasad <pra...@linux.vnet.ibm.com>
---
 arch/powerpc/mm/fault.c |   14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

Index: linux-2.6-tip.hbkpt/arch/powerpc/mm/fault.c
===================================================================
--- linux-2.6-tip.hbkpt.orig/arch/powerpc/mm/fault.c
+++ linux-2.6-tip.hbkpt/arch/powerpc/mm/fault.c
@@ -136,6 +136,12 @@ int __kprobes do_page_fault(struct pt_re
                error_code &= 0x48200000;
        else
                is_write = error_code & DSISR_ISSTORE;
+
+       if (error_code & DSISR_DABRMATCH) {
+               /* DABR match */
+               do_dabr(regs, address, error_code);
+               return 0;
+       }
 #else
        is_write = error_code & ESR_DST;
 #endif /* CONFIG_4xx || CONFIG_BOOKE */
@@ -150,14 +156,6 @@ int __kprobes do_page_fault(struct pt_re
        if (!user_mode(regs) && (address >= TASK_SIZE))
                return SIGSEGV;
 
-#if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE))
-       if (error_code & DSISR_DABRMATCH) {
-               /* DABR match */
-               do_dabr(regs, address, error_code);
-               return 0;
-       }
-#endif /* !(CONFIG_4xx || CONFIG_BOOKE)*/
-
        if (in_atomic() || mm == NULL) {
                if (!user_mode(regs))
                        return SIGSEGV;

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to