aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2022-06-09 13:12:18 +0100
committerMarc Zyngier <maz@kernel.org>2022-06-09 13:24:02 +0100
commitae187fec75aa670a551d9662f83e3947d3f02a69 (patch)
tree599b756248e97d2c09541a87a8b78e71b811b5a8 /arch
parentKVM: arm64: Warn if accessing timer pending state outside of vcpu context (diff)
downloadlinux-dev-ae187fec75aa670a551d9662f83e3947d3f02a69.tar.xz
linux-dev-ae187fec75aa670a551d9662f83e3947d3f02a69.zip
KVM: arm64: Return error from kvm_arch_init_vm() on allocation failure
If we fail to allocate the 'supported_cpus' cpumask in kvm_arch_init_vm() then be sure to return -ENOMEM instead of success (0) on the failure path. Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com> Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20220609121223.2551-2-will@kernel.org
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kvm/arm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index 400bb0fe2745..0da0f06037db 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -150,8 +150,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
if (ret)
goto out_free_stage2_pgd;
- if (!zalloc_cpumask_var(&kvm->arch.supported_cpus, GFP_KERNEL))
+ if (!zalloc_cpumask_var(&kvm->arch.supported_cpus, GFP_KERNEL)) {
+ ret = -ENOMEM;
goto out_free_stage2_pgd;
+ }
cpumask_copy(kvm->arch.supported_cpus, cpu_possible_mask);
kvm_vgic_early_init(kvm);