Skip to content

Commit 70ed723

Browse files
jgoulywilldeacon
authored andcommitted
KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Add the missing sanitisation of ID_AA64MMFR3_EL1, making sure we solely expose S1POE and TCRX (we currently don't support anything else). [joey: Took Marc's patch for S1PIE, and changed it for S1POE] Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Joey Gouly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
1 parent 55f4b21 commit 70ed723

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

arch/arm64/kvm/sys_regs.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1556,6 +1556,9 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
15561556
case SYS_ID_AA64MMFR2_EL1:
15571557
val &= ~ID_AA64MMFR2_EL1_CCIDX_MASK;
15581558
break;
1559+
case SYS_ID_AA64MMFR3_EL1:
1560+
val &= ID_AA64MMFR3_EL1_TCRX | ID_AA64MMFR3_EL1_S1POE;
1561+
break;
15591562
case SYS_ID_MMFR4_EL1:
15601563
val &= ~ARM64_FEATURE_MASK(ID_MMFR4_EL1_CCIDX);
15611564
break;
@@ -2427,7 +2430,8 @@ static const struct sys_reg_desc sys_reg_descs[] = {
24272430
ID_AA64MMFR2_EL1_IDS |
24282431
ID_AA64MMFR2_EL1_NV |
24292432
ID_AA64MMFR2_EL1_CCIDX)),
2430-
ID_SANITISED(ID_AA64MMFR3_EL1),
2433+
ID_WRITABLE(ID_AA64MMFR3_EL1, (ID_AA64MMFR3_EL1_TCRX |
2434+
ID_AA64MMFR3_EL1_S1POE)),
24312435
ID_SANITISED(ID_AA64MMFR4_EL1),
24322436
ID_UNALLOCATED(7,5),
24332437
ID_UNALLOCATED(7,6),

0 commit comments

Comments
 (0)