Unverified Commit 4d86b607 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!9015 CVE-2024-36953

Merge Pull Request from: @ci-robot 
 
PR sync from: Liu Shixin <liushixin2@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/AGXPE4Z6BJMBL2QHHXJSZNHYVTWY6HUV/ 
Marc Zyngier (1):
  KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id

Oliver Upton (1):
  KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()


-- 
2.25.1
 
https://gitee.com/src-openeuler/kernel/issues/I9UOQA 
 
Link:https://gitee.com/openeuler/kernel/pulls/9015

 

Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 3a296c42 4274c587
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -284,16 +284,12 @@ int kvm_register_vgic_device(unsigned long type)
int vgic_v2_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr,
		       struct vgic_reg_attr *reg_attr)
{
	int cpuid;
	int cpuid = FIELD_GET(KVM_DEV_ARM_VGIC_CPUID_MASK, attr->attr);

	cpuid = (attr->attr & KVM_DEV_ARM_VGIC_CPUID_MASK) >>
		 KVM_DEV_ARM_VGIC_CPUID_SHIFT;

	if (cpuid >= atomic_read(&dev->kvm->online_vcpus))
		return -EINVAL;

	reg_attr->vcpu = kvm_get_vcpu(dev->kvm, cpuid);
	reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK;
	reg_attr->vcpu = kvm_get_vcpu_by_id(dev->kvm, cpuid);
	if (!reg_attr->vcpu)
		return -EINVAL;

	return 0;
}