Commit 44bd887c authored by Will Deacon's avatar Will Deacon Committed by Catalin Marinas

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: default avatarWill Deacon <will.deacon@arm.com>
Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent af78cede
...@@ -254,6 +254,8 @@ static void __kprobes setup_singlestep(struct kprobe *p, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment