From: Amit Daniel Kachhap <amit.kachhap@arm.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Mark Rutland <mark.rutland@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Mark Brown <broonie@kernel.org>,
James Morse <james.morse@arm.com>,
Amit Daniel Kachhap <amit.kachhap@arm.com>,
Vincenzo Frascino <Vincenzo.Frascino@arm.com>,
Will Deacon <will@kernel.org>, Dave Martin <Dave.Martin@arm.com>
Subject: [PATCH v7 0/6] arm64: add Armv8.3 pointer authentication enhancements
Date: Wed, 9 Sep 2020 19:37:53 +0530 [thread overview]
Message-ID: <20200909140759.4170-1-amit.kachhap@arm.com> (raw)
These patch series adds support for Armv8.3 pointer authentication
enhanced features mandatory for Armv8.6 and optional for Armv8.3.
These features are,
* Enhanced PAC generation algorithm (ARMv8.3-pauth2).
* Generate fault when authenticate instruction fails (ARMV8.3-FPAC).
More details can be found here [1].
Changes since v6 [2]:
* Clubbed Ptrauth combined branch instructions as suggested by Will.
Changes since v5 [3]:
* Few Comments modified as suggested by Dave and Suzuki.
* Added Reviewed-by's.
Changes since v4 [4]:
* New patch "arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions".
This fixes uprobe crash with ARMv8.3-PAuth combined instructions.
* New patch "arm64: traps: Allow force_signal_inject to pass esr error code".
This is preparatory patch for ARMV8.3-FPAC fault exception handling.
* Removed caching of bootcpu address authentication cpufeature levels in
static variables. This was suggested by Dave and Suzuki.
* Use existing force_signal_inject function to invoke ptrauth fault
signal as suggested by Dave.
* Commit log changes.
Changes since v3 [5]:
* Added a new patch "arm64: kprobe: clarify the comment of steppable hint instructions"
as suggested in the last iteration.
* Removed the ptrauth fault handler from el0 compat handler as pointed
by Dave.
* Mentioned the new feature name clearly as ARMV8.3-FPAC and ARMv8.3-pauth2
as per ARMv8-A reference manual.
* Commit logs cleanup.
Changes since v2 [6]:
* Dropped the patch "arm64: cpufeature: Fix the handler for address authentication"
* Added new matching function for address authentication as generic
matching function has_cpuid_feature is specific for LOWER_SAFE
features. This was suggested by Suzuki [3].
* Disabled probe of Authenticate ptrauth instructions as per Mark
Brown's merged changes of whitelisting of hint instructions.
This series is based on kernel version v5.9-rc3.
Regards,
Amit
[1]: https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a
[2]: http://lists.infradead.org/pipermail/linux-arm-kernel/2020-September/598163.html
[3]: https://lore.kernel.org/linux-arm-kernel/1597734671-23407-1-git-send-email-amit.kachhap@arm.com/
[4]: http://lists.infradead.org/pipermail/linux-arm-kernel/2020-July/584393.html
[5]: https://lore.kernel.org/linux-arm-kernel/1592457029-18547-1-git-send-email-amit.kachhap@arm.com/
[6]: http://lists.infradead.org/pipermail/linux-arm-kernel/2020-April/723751.html
Amit Daniel Kachhap (6):
arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions
arm64: traps: Allow force_signal_inject to pass esr error code
arm64: ptrauth: Introduce Armv8.3 pointer aut hentication enhancements
arm64: cpufeature: Modify address authentication cpufeature to exact
arm64: kprobe: disable probe of fault prone ptrauth instruction
arm64: kprobe: clarify the comment of steppable hint instructions
arch/arm64/include/asm/esr.h | 4 ++-
arch/arm64/include/asm/exception.h | 1 +
arch/arm64/include/asm/insn.h | 4 +++
arch/arm64/include/asm/sysreg.h | 24 +++++++++-----
arch/arm64/include/asm/traps.h | 2 +-
arch/arm64/kernel/cpufeature.c | 46 +++++++++++++++++++++-----
arch/arm64/kernel/entry-common.c | 21 ++++++++++++
arch/arm64/kernel/fpsimd.c | 4 +--
arch/arm64/kernel/insn.c | 11 +++---
arch/arm64/kernel/probes/decode-insn.c | 9 +++--
arch/arm64/kernel/traps.c | 26 +++++++++++----
11 files changed, 114 insertions(+), 38 deletions(-)
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-09-09 14:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-09 14:07 Amit Daniel Kachhap [this message]
2020-09-09 14:07 ` [PATCH v7 1/6] arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions Amit Daniel Kachhap
2020-09-09 14:07 ` [PATCH v7 2/6] arm64: traps: Allow force_signal_inject to pass esr error code Amit Daniel Kachhap
2020-09-09 14:07 ` [PATCH v7 3/6] arm64: ptrauth: Introduce Armv8.3 pointer authentication enhancements Amit Daniel Kachhap
2020-09-09 14:07 ` [PATCH v7 4/6] arm64: cpufeature: Modify address authentication cpufeature to exact Amit Daniel Kachhap
2020-09-11 17:24 ` Catalin Marinas
2020-09-14 6:54 ` Amit Kachhap
2020-09-14 10:04 ` Catalin Marinas
2020-09-09 14:07 ` [PATCH v7 5/6] arm64: kprobe: disable probe of fault prone ptrauth instruction Amit Daniel Kachhap
2020-09-09 14:07 ` [PATCH v7 6/6] arm64: kprobe: clarify the comment of steppable hint instructions Amit Daniel Kachhap
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=20200909140759.4170-1-amit.kachhap@arm.com \
--to=amit.kachhap@arm.com \
--cc=Dave.Martin@arm.com \
--cc=Vincenzo.Frascino@arm.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=suzuki.poulose@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.