Re: [PATCH Dovetail v3 3/6] arm: irq_pipeline: Fix dovetail_fault_{entry,exit} bypass in hw_breakpoint_pending

Florian Bezdeka <[email protected]> Fri, 26 Jun 2026 15:37:25 +0200
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
On Fri, 2026-06-26 at 07:51 +0200, Philippe Gerum wrote:
> Hi Florian,
> 
> Florian Bezdeka <[email protected]> writes:
> 
> > HW breakpoint / watchpoint handling was bypassing the
> > dovetail_fault_{entry,exit} machinery. As a result it could happen that
> > the inband IRQ mask was touched from the OOB stage.
> > 
> > There is one more problem in the HW bp/wp handling related to
> > interrupts_enabled(). This one will be fixed in a separate patch.
> > 
> > Signed-off-by: Florian Bezdeka <[email protected]>
> > ---
> >  arch/arm/include/asm/dovetail.h         | 1 +
> >  arch/arm/include/asm/trace/exceptions.h | 3 ++-
> >  arch/arm/kernel/hw_breakpoint.c         | 6 ++++++
> >  3 files changed, 9 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm/include/asm/dovetail.h b/arch/arm/include/asm/dovetail.h
> > index 795a1fb903ec29f4c2fb7b25e70980796804acc0..eeb5d16ad032044a2587822f6b35074d664a9bbc 100644
> > --- a/arch/arm/include/asm/dovetail.h
> > +++ b/arch/arm/include/asm/dovetail.h
> > @@ -16,6 +16,7 @@
> >  #define ARM_TRAP_VFP		6	/* VFP floating point exception */
> >  #define ARM_TRAP_UNDEFINSTR	7	/* Undefined instruction */
> >  #define ARM_TRAP_ALIGNMENT	8	/* Unaligned access exception */
> > +#define ARM_TRAP_HW_BREAK	9	/* HW break or watchpoint exception */
> > 
> 
> ARM_TRAP_HW_BREAK would not be caught by xnarch_fault_bp_p() and friends
> without fixing them up. What is the expected upside of differentiating
> ARM_TRAP_BREAK from ARM_TRAP_HW_BREAK?
> 
> 

When starting to implement test that I thought it would be nice to
separate them. That changed a bit meanwhile. More testing within the
last week showed that we should be able to harmonize that / use
ARM_TRAP_BREAK for both cases.

Noted for v4. Will take some time, now timeslot available ATM.