From: Ada Couprie Diaz <ada.coupriediaz@arm.com>
To: Mark Rutland <mark.rutland@arm.com>, Will Deacon <will@kernel.org>
Cc: "Luis Claudio R. Goncalves" <lgoncalv@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 06/11] arm64: debug: split hardware breakpoint exeception entry
Date: Wed, 28 May 2025 17:10:52 +0100 [thread overview]
Message-ID: <fce9e492-7945-47a7-9891-e629d523e630@arm.com> (raw)
In-Reply-To: <aDcpESO2rYX_7V3Y@J2N7QTR9R3.cambridge.arm.com>
On 28/05/2025 16:17, Mark Rutland wrote:
> On Tue, May 20, 2025 at 04:36:39PM +0100, Will Deacon wrote:
>> On Mon, May 12, 2025 at 06:43:21PM +0100, Ada Couprie Diaz wrote:
>>> +static void noinstr el0_breakpt(struct pt_regs *regs, unsigned long esr)
>>> +{
>>> + if (!is_ttbr0_addr(regs->pc))
>>> + arm64_apply_bp_hardening();
>> I think this is a change in behaviour, as arm64_apply_bp_hardening() is
>> now called before enter_from_user_mode() and debug_exception_enter().
>> Is that safe and intentional?
> Yes on both counts:
>
> * It's safe. The arm64_apply_bp_hardening() helper, and the callbacks
> that it may call are all noinstr, and are written to be safe to call
> in this environment.
>
> * It's intentional. The goal was to do this as soon as reasonably
> possible, at least before unmasking exceptions, without incurring the
> cost for exceptions where this didn't matter.
>
> We've already executed a bunch of code to get here, and moving this
> after enter_from_user_mode() should be fine.
>
> This is inteneded to look the same as el0_ia() and el0_pc(), which both
> call arm64_apply_bp_hardening() before enter_from_user_mode().
>
> Mark.
A you mention in the other patch Will, I can definitely highlight
those points in the commit message for v3, especially that it is safe
and already done by `el0_ia()` and `el0_pc()`.
Thanks both,
Ada
next prev parent reply other threads:[~2025-05-28 16:29 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-12 17:43 [PATCH v2 00/11] arm64: debug: remove hook registration, split exception entry Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 01/11] arm64: debug: clean up single_step_handler logic Ada Couprie Diaz
2025-05-20 15:35 ` Will Deacon
2025-05-12 17:43 ` [PATCH v2 02/11] arm64: debug: call software break handlers statically Ada Couprie Diaz
2025-05-20 15:35 ` Will Deacon
2025-06-02 16:39 ` Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 03/11] arm64: debug: call step " Ada Couprie Diaz
2025-05-20 15:35 ` Will Deacon
2025-05-28 16:02 ` Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 04/11] arm64: debug: remove break/step handler registration infrastructure Ada Couprie Diaz
2025-05-20 15:36 ` Will Deacon
2025-05-12 17:43 ` [PATCH v2 05/11] arm64: entry: Add entry and exit functions for debug exceptions Ada Couprie Diaz
2025-05-20 15:36 ` Will Deacon
2025-05-28 14:08 ` Ada Couprie Diaz
2025-05-29 10:11 ` Will Deacon
2025-05-12 17:43 ` [PATCH v2 06/11] arm64: debug: split hardware breakpoint exeception entry Ada Couprie Diaz
2025-05-20 15:36 ` Will Deacon
2025-05-28 15:17 ` Mark Rutland
2025-05-28 16:10 ` Ada Couprie Diaz [this message]
2025-05-12 17:43 ` [PATCH v2 07/11] arm64: debug: split single stepping exception entry Ada Couprie Diaz
2025-05-20 16:29 ` Will Deacon
2025-05-28 15:22 ` Mark Rutland
2025-05-29 10:10 ` Will Deacon
2025-05-29 10:48 ` Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 08/11] arm64: debug: split hardware watchpoint " Ada Couprie Diaz
2025-05-20 16:59 ` Will Deacon
2025-05-28 13:47 ` Ada Couprie Diaz
2025-05-28 15:42 ` Mark Rutland
2025-05-29 10:13 ` Will Deacon
2025-05-12 17:43 ` [PATCH v2 09/11] arm64: debug: split brk64 " Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 10/11] arm64: debug: split bkpt32 " Ada Couprie Diaz
2025-05-21 9:07 ` Will Deacon
2025-05-29 10:43 ` Ada Couprie Diaz
2025-05-12 17:43 ` [PATCH v2 11/11] arm64: debug: remove debug exception registration infrastructure Ada Couprie Diaz
2025-05-21 9:38 ` Will Deacon
2025-05-28 16:41 ` Ada Couprie Diaz
2025-05-29 10:15 ` Will Deacon
2025-05-13 12:25 ` [PATCH v2 00/11] arm64: debug: remove hook registration, split exception entry Luis Claudio R. Goncalves
2025-05-13 15:19 ` Ada Couprie Diaz
2025-05-16 11:57 ` Luis Claudio R. Goncalves
2025-05-28 10:38 ` Ada Couprie Diaz
2025-06-03 16:10 ` Ada Couprie Diaz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fce9e492-7945-47a7-9891-e629d523e630@arm.com \
--to=ada.coupriediaz@arm.com \
--cc=bigeasy@linutronix.de \
--cc=catalin.marinas@arm.com \
--cc=lgoncalv@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.