ARMv8.3 introduces Pointer Authentication Code (PAC) as a mechanism to protect processes from attacks like buffer overflows.
This PR adds the capabilities for pointer authentication in Aarch64, KVM_CAP_ARM_PTRAUTH_GENERIC and KVM_CAP_ARM_PTRAUTH_ADDRESS. Also, add a unit test for checking the existence of capabilities and try to enable the feature in the vcpu initialization if present.
Requirements
Before submitting your PR, please make sure you addressed the following
requirements:
[ ] All commits in this PR are signed (with git commit -s), and the commit
message has max 60 characters for the summary and max 75 characters for each
description line.
[ ] All added/changed functionality has a corresponding unit/integration
test.
[ ] All added/changed public-facing functionality has entries in the "Upcoming
Release" section of CHANGELOG.md (if no such section exists, please create one).
[ ] Any newly added unsafe code is properly documented.
Summary of the PR
ARMv8.3 introduces Pointer Authentication Code (PAC) as a mechanism to protect processes from attacks like buffer overflows.
This PR adds the capabilities for pointer authentication in Aarch64,
KVM_CAP_ARM_PTRAUTH_GENERIC
andKVM_CAP_ARM_PTRAUTH_ADDRESS
. Also, add a unit test for checking the existence of capabilities and try to enable the feature in the vcpu initialization if present.Requirements
Before submitting your PR, please make sure you addressed the following requirements:
git commit -s
), and the commit message has max 60 characters for the summary and max 75 characters for each description line.unsafe
code is properly documented.