All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/6] arm64: add Armv8.3 pointer authentication enhancements
@ 2020-09-09 14:07 Amit Daniel Kachhap
  2020-09-09 14:07 ` [PATCH v7 1/6] arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions Amit Daniel Kachhap
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Amit Daniel Kachhap @ 2020-09-09 14:07 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Mark Rutland, Suzuki K Poulose, Catalin Marinas, Mark Brown,
	James Morse, Amit Daniel Kachhap, Vincenzo Frascino, Will Deacon,
	Dave Martin

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-09-14 10:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09 14:07 [PATCH v7 0/6] arm64: add Armv8.3 pointer authentication enhancements Amit Daniel Kachhap
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

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.