Linux 5.7 For 64-bit ARM Brings In-Kernel Pointer Authentication, Activity Monitors
The 64-bit ARM architecture code will support several new features with the in-development Linux 5.7 kernel.
Highlights of the 64-bit ARM (AArch64 / ARM64) code for Linux 5.7 include:
- In-kernel pointer authentication is now supported. Back in 2018 added to the kernel was pointer authentication support but only exposed for user-space usage. As explained back then, "Pointer authentication can be supported by ARMv8.3 hardware and newer to allow for signing and authenticating of pointers against secret keys. The purpose of this pointer authentication is to mitigate ROP attacks and other potential buffer-overrun-style attacks." Now with Linux 5.7 the ARMv8.3+ pointer authentication support also works within the kernel.
- ARM Activity Monitors (AMU) extension support. The AMU extension is optional with ARMv8.4+ hardware and allows for performance feedback by tracking the CPU clock frequencies and other hardware counters like around memory stalls and instructions retired. The ARM Activity Monitors support for the mainline Linux kernel is being worked on for frequency invariance improvements.
- RAM hot remove is now supported on 64-bit ARM.
- Preparation for Branch Target Identification support. Branch Target Identification (BTI) is a new instruction with ARMv8.5+ to protect against the execution of instructions that are not the intended target of a branch. This is part of ARM's hardware Spectre protections.
There are also other clean-ups and other ARM64 architecture improvements as outlined via this pull request for the Linux 5.7 merge window.
Highlights of the 64-bit ARM (AArch64 / ARM64) code for Linux 5.7 include:
- In-kernel pointer authentication is now supported. Back in 2018 added to the kernel was pointer authentication support but only exposed for user-space usage. As explained back then, "Pointer authentication can be supported by ARMv8.3 hardware and newer to allow for signing and authenticating of pointers against secret keys. The purpose of this pointer authentication is to mitigate ROP attacks and other potential buffer-overrun-style attacks." Now with Linux 5.7 the ARMv8.3+ pointer authentication support also works within the kernel.
- ARM Activity Monitors (AMU) extension support. The AMU extension is optional with ARMv8.4+ hardware and allows for performance feedback by tracking the CPU clock frequencies and other hardware counters like around memory stalls and instructions retired. The ARM Activity Monitors support for the mainline Linux kernel is being worked on for frequency invariance improvements.
- RAM hot remove is now supported on 64-bit ARM.
- Preparation for Branch Target Identification support. Branch Target Identification (BTI) is a new instruction with ARMv8.5+ to protect against the execution of instructions that are not the intended target of a branch. This is part of ARM's hardware Spectre protections.
There are also other clean-ups and other ARM64 architecture improvements as outlined via this pull request for the Linux 5.7 merge window.
5 Comments