diff options
Diffstat (limited to 'kernel/arch/arm/mm/abort-ev5tj.S')
-rw-r--r-- | kernel/arch/arm/mm/abort-ev5tj.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/arch/arm/mm/abort-ev5tj.S b/kernel/arch/arm/mm/abort-ev5tj.S index 4006b7a61..00ab011be 100644 --- a/kernel/arch/arm/mm/abort-ev5tj.S +++ b/kernel/arch/arm/mm/abort-ev5tj.S @@ -24,7 +24,9 @@ ENTRY(v5tj_early_abort) bne do_DataAbort do_thumb_abort fsr=r1, pc=r4, psr=r5, tmp=r3 ldreq r3, [r4] @ read aborted ARM instruction - do_ldrd_abort tmp=ip, insn=r3 + uaccess_disable ip @ disable userspace access + teq_ldrd tmp=ip, insn=r3 @ insn was LDRD? + beq do_DataAbort @ yes tst r3, #1 << 20 @ L = 0 -> write orreq r1, r1, #1 << 11 @ yes. b do_DataAbort |