As part of the ongoing rebase effort, the following configuration options need to be reviewed.
As a reminder, the ARK configuration flow involves moving unreviewed configuration options from the pending directory to the ark directory. In the diff below, options are removed from the pending directory and added to the ark hierarchy. The final options that need to be ACKed are the files that are being added to the ark hierarchy.
If the value for a file that is added should be changed, please reply with a better option.
Branch Target Identification (part of the ARMv8.5 Extensions) provides a mechanism to limit the set of locations to which computed branch instructions such as BR or BLR can jump.
To make use of BTI on CPUs that support it, say Y.
BTI is intended to provide complementary protection to other control flow integrity protection mechanisms, such as the Pointer authentication mechanism provided as part of the ARMv8.3 Extensions. For this reason, it does not make sense to enable this option without also enabling support for pointer authentication. Thus, when enabling this option you should also select ARM64_PTR_AUTH=y.
Userspace binaries must also be specifically compiled to make use of this mechanism. If you say N here or the hardware does not support BTI, such binaries can still run, but you get no additional enforcement of branch destinations.
Symbol: ARM64_BTI [=y] Type : bool Defined at arch/arm64/Kconfig:1594 Prompt: Branch Target Identification support Location: -> Kernel Features -> ARMv8.5 architectural features