Skip to content

Commit 21de26d

Browse files
Fuad TabbaMarc Zyngier
authored andcommitted
KVM: arm64: Mark PAuth as a restricted feature for protected VMs
Protected VMs will only support basic PAuth (FEAT_PAuth). Mark it as restricted to ensure that later versions aren't supported for protected guests. Signed-off-by: Fuad Tabba <tabba@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20231214100158.2305400-17-tabba@google.com
1 parent 73e3ce3 commit 21de26d

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

arch/arm64/kvm/hyp/include/nvhe/fixed_config.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,18 @@
184184
ARM64_FEATURE_MASK(ID_AA64ISAR0_EL1_RNDR) \
185185
)
186186

187+
/* Restrict pointer authentication to the basic version. */
188+
#define PVM_ID_AA64ISAR1_RESTRICT_UNSIGNED (\
189+
FIELD_PREP(ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_APA), ID_AA64ISAR1_EL1_APA_PAuth) | \
190+
FIELD_PREP(ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_API), ID_AA64ISAR1_EL1_API_PAuth) \
191+
)
192+
193+
#define PVM_ID_AA64ISAR2_RESTRICT_UNSIGNED (\
194+
FIELD_PREP(ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_APA3), ID_AA64ISAR2_EL1_APA3_PAuth) \
195+
)
196+
187197
#define PVM_ID_AA64ISAR1_ALLOW (\
188198
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_DPB) | \
189-
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_APA) | \
190-
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_API) | \
191199
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_JSCVT) | \
192200
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_FCMA) | \
193201
ARM64_FEATURE_MASK(ID_AA64ISAR1_EL1_LRCPC) | \
@@ -202,8 +210,8 @@
202210
)
203211

204212
#define PVM_ID_AA64ISAR2_ALLOW (\
213+
ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_ATS1A)| \
205214
ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_GPA3) | \
206-
ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_APA3) | \
207215
ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_MOPS) \
208216
)
209217

0 commit comments

Comments
 (0)