[PATCH v2 2/3] MIPS: Clear Cause.BD in instruction_pointer_set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Clear Cause.BD after we use instruction_pointer_set to override

This can prevent exception_epc check against instruction code at
new return address.
It won't be considered as "in delay slot" after epc being overridden

Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
 arch/mips/include/asm/ptrace.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
index 701a233583c2..d14d0e37ad02 100644
--- a/arch/mips/include/asm/ptrace.h
+++ b/arch/mips/include/asm/ptrace.h
@@ -60,6 +60,7 @@ static inline void instruction_pointer_set(struct pt_regs *regs,
                                            unsigned long val)
 	regs->cp0_epc = val;
+	regs->cp0_cause &= ~CAUSEF_BD;
 /* Query offset/name of register from its name/offset */


[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux