From: salyzyn@android.com (Mark Salyzyn)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)
Date: Wed, 6 Sep 2017 09:04:03 -0700 [thread overview]
Message-ID: <898f1068-e99c-2f0e-8950-59dfd972bc89@android.com> (raw)
In-Reply-To: <20170816222723.118839-1-salyzyn@android.com>
Ping?
On 08/16/2017 03:26 PM, Mark Salyzyn wrote:
> From: Kevin Brodsky <kevin.brodsky@arm.com>
>
> AArch32 processes are currently installed a special [vectors] page that
> contains the sigreturn trampolines and the kuser helpers, at the fixed
> address mandated by the kuser helpers ABI.
>
> Having both functionalities in the same page has become problematic,
> because:
>
> * It makes it impossible to disable the kuser helpers (the sigreturn
> trampolines cannot be removed), which is possible on arm.
>
> * A future 32-bit vDSO would provide the sigreturn trampolines itself,
> making those in [vectors] redundant.
>
> This patch addresses the problem by moving the sigreturn trampolines to
> a separate [sigpage] page, mirroring [sigpage] on arm.
>
> Even though [vectors] has always been a misnomer on arm64/compat, as
> there is no AArch32 vector there (and now only the kuser helpers),
> its name has been left unchanged, for compatibility with arm (there
> are reports of software relying on [vectors] being there as the last
> mapping in /proc/maps).
>
> mm->context.vdso used to point to the [vectors] page, which is
> unnecessary (as its address is fixed). It now points to the [sigpage]
> page (whose address is randomized like a vDSO).
>
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> Signed-off-by: Mark Salyzyn <salyzyn@android.com>
>
> v2:
> - reduce churniness (and defer later to vDSO patches)
> - vctors_page and compat_vdso_spec as array of 2
> - free sigpage if vectors allocation failed
> ---
> arch/arm64/include/asm/processor.h | 4 +-
> arch/arm64/include/asm/signal32.h | 2 -
> arch/arm64/kernel/signal32.c | 5 +--
> arch/arm64/kernel/vdso.c | 82 ++++++++++++++++++++++++++------------
> 4 files changed, 60 insertions(+), 33 deletions(-)
. . .
WARNING: multiple messages have this Message-ID (diff)
From: Mark Salyzyn <salyzyn@android.com>
To: linux-kernel@vger.kernel.org
Cc: Kevin Brodsky <kevin.brodsky@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>, Ingo Molnar <mingo@kernel.org>,
Christian Borntraeger <borntraeger@de.ibm.com>,
James Morse <james.morse@arm.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Dave Martin <Dave.Martin@arm.com>,
Chris Redmon <credmonster@gmail.com>, zijun_hu <zijun_hu@htc.com>,
Mark Rutland <mark.rutland@arm.com>,
Jisheng Zhang <jszhang@marvell.com>,
Laura Abbott <labbott@redhat.com>,
John Stultz <john.stultz@linaro.org>,
Kees Cook <keescook@chromium.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)
Date: Wed, 6 Sep 2017 09:04:03 -0700 [thread overview]
Message-ID: <898f1068-e99c-2f0e-8950-59dfd972bc89@android.com> (raw)
In-Reply-To: <20170816222723.118839-1-salyzyn@android.com>
Ping?
On 08/16/2017 03:26 PM, Mark Salyzyn wrote:
> From: Kevin Brodsky <kevin.brodsky@arm.com>
>
> AArch32 processes are currently installed a special [vectors] page that
> contains the sigreturn trampolines and the kuser helpers, at the fixed
> address mandated by the kuser helpers ABI.
>
> Having both functionalities in the same page has become problematic,
> because:
>
> * It makes it impossible to disable the kuser helpers (the sigreturn
> trampolines cannot be removed), which is possible on arm.
>
> * A future 32-bit vDSO would provide the sigreturn trampolines itself,
> making those in [vectors] redundant.
>
> This patch addresses the problem by moving the sigreturn trampolines to
> a separate [sigpage] page, mirroring [sigpage] on arm.
>
> Even though [vectors] has always been a misnomer on arm64/compat, as
> there is no AArch32 vector there (and now only the kuser helpers),
> its name has been left unchanged, for compatibility with arm (there
> are reports of software relying on [vectors] being there as the last
> mapping in /proc/maps).
>
> mm->context.vdso used to point to the [vectors] page, which is
> unnecessary (as its address is fixed). It now points to the [sigpage]
> page (whose address is randomized like a vDSO).
>
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> Signed-off-by: Mark Salyzyn <salyzyn@android.com>
>
> v2:
> - reduce churniness (and defer later to vDSO patches)
> - vctors_page and compat_vdso_spec as array of 2
> - free sigpage if vectors allocation failed
> ---
> arch/arm64/include/asm/processor.h | 4 +-
> arch/arm64/include/asm/signal32.h | 2 -
> arch/arm64/kernel/signal32.c | 5 +--
> arch/arm64/kernel/vdso.c | 82 ++++++++++++++++++++++++++------------
> 4 files changed, 60 insertions(+), 33 deletions(-)
. . .
next prev parent reply other threads:[~2017-09-06 16:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-16 22:26 [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources) Mark Salyzyn
2017-08-16 22:26 ` Mark Salyzyn
2017-09-06 16:04 ` Mark Salyzyn [this message]
2017-09-06 16:04 ` Mark Salyzyn
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=898f1068-e99c-2f0e-8950-59dfd972bc89@android.com \
--to=salyzyn@android.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.