Loading
KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id
stable inclusion from stable-v5.10.217 commit 4563a0afd99e1d86acb7d54a0809ed27d273a7f6 category: cleanup bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9UOQA CVE: CVE-2024-36953 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4563a0afd99e1d86acb7d54a0809ed27d273a7f6 -------------------------------- [ Upstream commit 4e7728c81a54b17bd33be402ac140bc11bb0c4f4 ] When parsing a GICv2 attribute that contains a cpuid, handle this as the vcpu_id, not a vcpu_idx, as userspace cannot really know the mapping between the two. For this, use kvm_get_vcpu_by_id() instead of kvm_get_vcpu(). Take this opportunity to get rid of the pointless check against online_vcpus, which doesn't make much sense either, and switch to FIELD_GET as a way to extract the vcpu_id. Reviewed-by:Zenghui Yu <yuzenghui@huawei.com> Signed-off-by:
Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230927090911.3355209-5-maz@kernel.org Signed-off-by:
Oliver Upton <oliver.upton@linux.dev> Stable-dep-of: 6ddb4f372fc6 ("KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()") Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Liu Shixin <liushixin2@huawei.com> (cherry picked from commit 466d01de)