From: Mark Rutland <mark.rutland@arm.com>
To: Will Deacon <will@kernel.org>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Sami Tolvanen <samitolvanen@google.com>,
Kees Cook <keescook@chromium.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Jann Horn <jannh@google.com>, Ard Biesheuvel <ardb@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
kernel-team@android.com
Subject: Re: [PATCH 3/6] arm64: scs: Use 'scs_sp' register alias for x18
Date: Mon, 18 May 2020 14:13:17 +0100 [thread overview]
Message-ID: <20200518131317.GA2787@C02TD0UTHF1T.local> (raw)
In-Reply-To: <20200518130335.GC32394@willie-the-truck>
On Mon, May 18, 2020 at 02:03:36PM +0100, Will Deacon wrote:
> On Mon, May 18, 2020 at 12:55:47PM +0100, Mark Rutland wrote:
> > On Fri, May 15, 2020 at 06:27:53PM +0100, Will Deacon wrote:
> > > x18 holds the SCS stack pointer value, so introduce a register alias to
> > > make this easier to read in assembly code.
> > >
> > > Signed-off-by: Will Deacon <will@kernel.org>
> >
> > I scanned through arm64 for all instances of x18, and it looks like
> > you've covered all the relevant uses here. In kvm we save/restore x18 a
> > bunch becasue it might be a platform register, but we do that
> > unconditionally and without knowledge of what it contains, so I think
> > that's fine to leave as-is. Therefore:
> >
> > Reviewed-by: Mark Rutland <mark.rutland@arm.com>
> >
> > As an aside, the comment in entry-ftrace.S is now stale where it says
> > that x18 is safe to clobber. I can send a patch to clean that up, unless
> > you want to do that yourself.
>
> Thanks, I'll fix that up (see below). Also, apologies for typo'ing your
> email address when I sent this out on Friday.
No worries; I'd already forgotten!
>
> Will
>
> --->8
>
> From 7e86208cd6541c1229bc1fcd206596308d1727f8 Mon Sep 17 00:00:00 2001
> From: Will Deacon <will@kernel.org>
> Date: Mon, 18 May 2020 14:01:01 +0100
> Subject: [PATCH] arm64: entry-ftrace.S: Update comment to indicate that x18 is
> live
>
> The Shadow Call Stack pointer is held in x18, so update the ftrace
> entry comment to indicate that it cannot be safely clobbered.
>
> Reported-by: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Will Deacon <will@kernel.org>
> ---
> arch/arm64/kernel/entry-ftrace.S | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/entry-ftrace.S b/arch/arm64/kernel/entry-ftrace.S
> index 833d48c9acb5..a338f40e64d3 100644
> --- a/arch/arm64/kernel/entry-ftrace.S
> +++ b/arch/arm64/kernel/entry-ftrace.S
> @@ -23,8 +23,9 @@
> *
> * ... where <entry> is either ftrace_caller or ftrace_regs_caller.
> *
> - * Each instrumented function follows the AAPCS, so here x0-x8 and x19-x30 are
> - * live, and x9-x18 are safe to clobber.
> + * Each instrumented function follows the AAPCS, so here x0-x8 and x18-x30 are
> + * live (x18 holds the Shadow Call Stack pointer), and x9-x17 are safe to
> + * clobber.
I'd have called out x18 a bit more specifically:
| Each instrumented function follows the AAPCS, so here x0-x8 and x19-x30 are
| live, x18 is potentially live with a shadow call stack pointer, and
| x9-x17 are safe to clobber.
... but either way this looks good; thanks!
Mark.
next prev parent reply other threads:[~2020-05-18 13:13 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 17:27 [PATCH 0/6] Clean up Shadow Call Stack patches for 5.8 Will Deacon
2020-05-15 17:27 ` [PATCH 1/6] arm64: scs: Store absolute SCS stack pointer value in thread_info Will Deacon
2020-05-18 11:37 ` Mark Rutland
2020-05-18 13:37 ` Will Deacon
2020-05-15 17:27 ` [PATCH 2/6] scs: Move accounting into alloc/free functions Will Deacon
2020-05-18 11:38 ` Mark Rutland
2020-05-18 13:39 ` Will Deacon
2020-05-15 17:27 ` [PATCH 3/6] arm64: scs: Use 'scs_sp' register alias for x18 Will Deacon
2020-05-18 11:55 ` Mark Rutland
2020-05-18 13:03 ` Will Deacon
2020-05-18 13:13 ` Mark Rutland [this message]
2020-05-15 17:27 ` [PATCH 4/6] scs: Move scs_overflow_check() out of architecture code Will Deacon
2020-05-18 12:12 ` Mark Rutland
2020-05-18 13:23 ` Will Deacon
2020-05-18 13:32 ` Mark Rutland
2020-05-18 15:31 ` Kees Cook
2020-05-18 16:44 ` Will Deacon
2020-05-15 17:27 ` [PATCH 5/6] scs: Remove references to asm/scs.h from core code Will Deacon
2020-05-18 12:15 ` Mark Rutland
2020-05-15 17:27 ` [PATCH 6/6] scs: Move DEFINE_SCS macro into " Will Deacon
2020-05-18 12:14 ` Mark Rutland
2020-05-18 13:26 ` Will Deacon
2020-05-18 13:37 ` Mark Rutland
2020-05-15 20:42 ` [PATCH 0/6] Clean up Shadow Call Stack patches for 5.8 Sami Tolvanen
2020-05-18 13:52 ` Will Deacon
2020-05-18 15:43 ` Sami Tolvanen
2020-05-18 16:49 ` Will Deacon
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=20200518131317.GA2787@C02TD0UTHF1T.local \
--to=mark.rutland@arm.com \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=jannh@google.com \
--cc=keescook@chromium.org \
--cc=kernel-team@android.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=samitolvanen@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®