[RFC PATCH v3 15/29] KVM: arm64: Make ID registers without id_reg_info writable
Reiji Watanabe
reijiw at google.com
Tue Nov 16 22:43:45 PST 2021
Make ID registers that don't have id_reg_info writable.
Signed-off-by: Reiji Watanabe <reijiw at google.com>
---
arch/arm64/kvm/sys_regs.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
index 659ec880d527..35e458cc1e1d 100644
--- a/arch/arm64/kvm/sys_regs.c
+++ b/arch/arm64/kvm/sys_regs.c
@@ -1886,16 +1886,12 @@ static int __set_id_reg(struct kvm_vcpu *vcpu,
if (err)
return err;
- /* Don't allow to change the reg unless the reg has id_reg_info */
- if (val != read_id_reg(vcpu, rd, raz) && !GET_ID_REG_INFO(encoding))
+ /* Don't allow to change the reg after the first KVM_RUN. */
+ if ((val != read_id_reg(vcpu, rd, raz)) && vcpu->arch.has_run_once)
return -EINVAL;
if (raz)
- return 0;
-
- /* Don't allow to change the reg after the first KVM_RUN. */
- if (vcpu->arch.has_run_once)
- return -EINVAL;
+ return (val == 0) ? 0 : -EINVAL;
err = validate_id_reg(vcpu, rd, val);
if (err)
--
2.34.0.rc1.387.gb447b232ab-goog
More information about the linux-arm-kernel
mailing list