Commit 2eb80a2e authored by Zenghui Yu (Huawei)'s avatar Zenghui Yu (Huawei) Committed by Marc Zyngier
Browse files

KVM: arm64: nv: Return correct RES0 bits for FGT registers



We had extended the sysreg masking infrastructure to more general
registers, instead of restricting it to VNCR-backed registers, since
commit a0162020 ("KVM: arm64: Extend masking facility to arbitrary
registers"). Fix kvm_get_sysreg_res0() to reflect this fact.

Note that we're sure that we only deal with FGT registers in
kvm_get_sysreg_res0(), the

	if (sr < __VNCR_START__)

is actually a never false, which should probably be removed later.

Fixes: 69c19e04 ("KVM: arm64: Add TCR2_EL2 to the sysreg arrays")
Signed-off-by: default avatarZenghui Yu (Huawei) <zenghui.yu@linux.dev>
Link: https://patch.msgid.link/20260121101631.41037-1-zenghui.yu@linux.dev


Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
parent 54adbfe4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2435,7 +2435,7 @@ static u64 kvm_get_sysreg_res0(struct kvm *kvm, enum vcpu_sysreg sr)

	masks = kvm->arch.sysreg_masks;

	return masks->mask[sr - __VNCR_START__].res0;
	return masks->mask[sr - __SANITISED_REG_START__].res0;
}

static bool check_fgt_bit(struct kvm_vcpu *vcpu, enum vcpu_sysreg sr,