[PATCH] arm64: debug: don't re-enable debug exceptions on return from el1_dbg

Catalin Marinas catalin.marinas at arm.com
Tue Sep 23 07:40:02 PDT 2014


On Mon, Sep 22, 2014 at 11:19:04AM +0100, Will Deacon wrote:
> When returning from a debug exception taken from EL1, we unmask debug
> exceptions after handling the exception. This is crucial for debug
> exceptions taken from EL0, so that any kernel work on the ret_to_user
> path can be debugged by kgdb.
> 
> However, when returning back to EL1 the only thing left to do is to
> restore the original register state before the exception return. If
> single-step has been enabled by the debug exception handler, we will
> get stuck in an infinite debug exception loop, since we will take the
> step exception as soon as we unmask debug exceptions.
> 
> This patch avoids unmasking debug exceptions on the debug exception
> return path when the exception was taken from EL1.
> 
> Cc: <stable at vger.kernel.org>

Does it work better if I add:

Fixes: 2a2830703a23 (arm64: debug: avoid accessing mdscr_el1 on fault paths where possible)
Cc: <stable at vger.kernel.org> #3.16+

-- 
Catalin



More information about the linux-arm-kernel mailing list