arm64: kprobes: WARN if attempting to step with PSTATE.D=1
Stepping with PSTATE.D=1 is bad news. The step won't generate a debug exception and we'll likely walk off into random data structures. This should never happen, but when it does, it's a PITA to debug. Add a WARN_ON to shout if we realise this is about to take place. Signed-off-by: Will Deacon <will.deacon@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
af78cede8b
commit
44bd887ce1
|
@ -254,6 +254,8 @@ static void __kprobes setup_singlestep(struct kprobe *p,
|
||||||
|
|
||||||
if (kcb->kprobe_status == KPROBE_REENTER)
|
if (kcb->kprobe_status == KPROBE_REENTER)
|
||||||
spsr_set_debug_flag(regs, 0);
|
spsr_set_debug_flag(regs, 0);
|
||||||
|
else
|
||||||
|
WARN_ON(regs->pstate & PSR_D_BIT);
|
||||||
|
|
||||||
/* IRQs and single stepping do not mix well. */
|
/* IRQs and single stepping do not mix well. */
|
||||||
kprobes_save_local_irqflag(kcb, regs);
|
kprobes_save_local_irqflag(kcb, regs);
|
||||||
|
|
Loading…
Reference in a new issue