All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ada Couprie Diaz <ada.coupriediaz@arm.com>
To: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"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 05/11] arm64: entry: Add entry and exit functions for debug exceptions
Date: Wed, 28 May 2025 15:08:35 +0100	[thread overview]
Message-ID: <ddc2fd08-1171-4ec7-9ffd-eae069984d48@arm.com> (raw)
In-Reply-To: <20250520153619.GE18901@willie-the-truck>

On 20/05/2025 16:36, Will Deacon wrote:

> On Mon, May 12, 2025 at 06:43:20PM +0100, Ada Couprie Diaz wrote:
>> Duplicate the `debug_exception_entry()` and `debug_exception_exit()`
> nit: it's debug_exception_enter().
Thanks,fixed for v3.
>> functions from mm/fault.c, as they are needed to split
>> the debug exceptions entry paths from the current unified one.
>> The original will be removed in a cleanup patch.
>>
>> Signed-off-by: Ada Couprie Diaz <ada.coupriediaz@arm.com>
>> ---
>>   arch/arm64/kernel/entry-common.c | 22 ++++++++++++++++++++++
>>   1 file changed, 22 insertions(+)
>>
>> diff --git a/arch/arm64/kernel/entry-common.c b/arch/arm64/kernel/entry-common.c
>> index b260ddc4d3e9..92d78b329e67 100644
>> --- a/arch/arm64/kernel/entry-common.c
>> +++ b/arch/arm64/kernel/entry-common.c
>> @@ -418,6 +418,28 @@ static inline void fp_user_discard(void)
>>   	}
>>   }
>>   
>> +/*
>> + * In debug exception context, we explicitly disable preemption despite
>> + * having interrupts disabled.
>> + * This serves two purposes: it makes it much less likely that we would
>> + * accidentally schedule in exception context and it will force a warning
>> + * if we somehow manage to schedule by accident.
>> + */
>> +static void debug_exception_enter(struct pt_regs *regs)
>> +{
>> +	preempt_disable();
>> +
>> +	/* This code is a bit fragile.  Test it. */
>> +	RCU_LOCKDEP_WARN(!rcu_is_watching(), "exception_enter didn't work");
>> +}
>> +NOKPROBE_SYMBOL(debug_exception_enter);
>> +
>> +static void debug_exception_exit(struct pt_regs *regs)
>> +{
>> +	preempt_enable_no_resched();
>> +}
>> +NOKPROBE_SYMBOL(debug_exception_exit);
> Could you make these externally visible (i.e. drop the 'static') so that
> you can remove the definitions from mm/fault.c at the same time? Then
> you could add the 'static' back at the end when there are no more
> external callers.
>
> Will
If you are happy with some header noise, adding `debug_exception_enter()`
and `debug_exception_exit()` to include/asm/exception.h` so that they can
be visible in `mm/fault.c` during the clean up and removing them when
done, I would much prefer doing it that way !

It felt strange to just have some duplicate code, but I didn't know
what would be acceptable.
I will make the change for v3, unless the header noise mentioned above is
an issue.

Thanks,
Ada


  reply	other threads:[~2025-05-28 14:19 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 [this message]
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
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=ddc2fd08-1171-4ec7-9ffd-eae069984d48@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.