From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] arm64: Fix single stepping in kernel traps
Date: Wed, 11 Oct 2017 15:37:15 +0100 [thread overview]
Message-ID: <20171011143715.GH11106@arm.com> (raw)
In-Reply-To: <1507729721-53978-3-git-send-email-julien.thierry@arm.com>
On Wed, Oct 11, 2017 at 02:48:41PM +0100, Julien Thierry wrote:
> Software Step exception is missing after stepping a trapped instruction.
>
> Ensure SPSR.SS gets set to 0 after emulating/skipping a trapped instruction
> before doing ERET.
>
> Signed-off-by: Julien Thierry <julien.thierry@arm.com>
> Reviewed-by: Alex Benn?e <alex.bennee@linaro.org>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
>
> ---
> arch/arm64/include/asm/insn.h | 5 +++++
> arch/arm64/include/asm/traps.h | 6 ++++++
> arch/arm64/kernel/armv8_deprecated.c | 8 ++++----
> arch/arm64/kernel/cpufeature.c | 2 +-
> arch/arm64/kernel/traps.c | 21 ++++++++++++++++-----
> 5 files changed, 32 insertions(+), 10 deletions(-)
[...]
> diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
> index 5ea4b85..aaf9a523 100644
> --- a/arch/arm64/kernel/traps.c
> +++ b/arch/arm64/kernel/traps.c
> @@ -293,6 +293,17 @@ void arm64_notify_die(const char *str, struct pt_regs *regs,
> }
> }
>
> +void arm64_setup_next_instr(struct pt_regs *regs, unsigned long size)
> +{
> + regs->pc += size;
> +
> + /*
> + * If we were single stepping, we want to get the step exception after
> + * we return from the trap.
> + */
> + regs->pstate &= ~DBG_SPSR_SS;
Can you use user_fastforward_single_step instead, like we do for the signal
handling path?
Will
next prev parent reply other threads:[~2017-10-11 14:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-11 13:48 [PATCH v2 0/2] Fix single step for traps Julien Thierry
2017-10-11 13:48 ` [PATCH v2 1/2] arm64: Use existing defines for mdscr Julien Thierry
2017-10-11 16:52 ` Mark Rutland
2017-10-11 13:48 ` [PATCH v2 2/2] arm64: Fix single stepping in kernel traps Julien Thierry
2017-10-11 14:37 ` Will Deacon [this message]
2017-10-11 15:06 ` Julien Thierry
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=20171011143715.GH11106@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.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.