提交 d675b172 编写于 作者: P Peng Liang 提交者: Zheng Zengkai

kvm: arm64: make ID_AA64PFR0_EL1 configurable

hulk inclusion
category: feature
bugzilla: 48052
CVE: NA

------------------------------

Since 23711a5e ("KVM: arm64: Allow setting of ID_AA64PFR0_EL1.CSV2
from userspace"), ID_AA64PFR0_EL1 uses a separate set_user callback.  We
should remove some check in the callback to make ID_AA64PFR0_EL1
configurable.
Signed-off-by: NPeng Liang <liangpeng10@huawei.com>
Reviewed-by: NZhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 d34256a6
......@@ -1249,6 +1249,8 @@ static int set_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
int err;
u64 val;
u8 csv2;
u32 reg_id = sys_reg((u32)rd->Op0, (u32)rd->Op1, (u32)rd->CRn,
(u32)rd->CRm, (u32)rd->Op2);
err = reg_from_user(&val, uaddr, id);
if (err)
......@@ -1264,13 +1266,8 @@ static int set_id_aa64pfr0_el1(struct kvm_vcpu *vcpu,
(csv2 && arm64_get_spectre_v2_state() != SPECTRE_UNAFFECTED))
return -EINVAL;
/* We can only differ with CSV2, and anything else is an error */
val ^= read_id_reg(vcpu, rd, false);
val &= ~(0xFUL << ID_AA64PFR0_CSV2_SHIFT);
if (val)
return -EINVAL;
vcpu->kvm->arch.pfr0_csv2 = csv2;
kvm_set_id_reg(vcpu, reg_id, val);
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册