aboutsummaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorGravatar Arnd Bergmann <arnd@arndb.de> 2024-02-12 12:24:10 +0100
committerGravatar Sean Christopherson <seanjc@google.com> 2024-02-22 17:02:26 -0800
commitea3689d9df50c283cb5d647a74aa45e2cc3f8064 (patch)
tree9e36c1cb3a958036efb4aa413d3535e4d2469135 /virt
parentKVM: Harden against unpaired kvm_mmu_notifier_invalidate_range_end() calls (diff)
downloadlinux-ea3689d9df50c283cb5d647a74aa45e2cc3f8064.tar.gz
linux-ea3689d9df50c283cb5d647a74aa45e2cc3f8064.tar.bz2
linux-ea3689d9df50c283cb5d647a74aa45e2cc3f8064.zip
KVM: fix kvm_mmu_memory_cache allocation warning
gcc-14 notices that the arguments to kvmalloc_array() are mixed up: arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function '__kvm_mmu_topup_memory_cache': arch/x86/kvm/../../../virt/kvm/kvm_main.c:424:53: error: 'kvmalloc_array' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args] 424 | mc->objects = kvmalloc_array(sizeof(void *), capacity, gfp); | ^~~~ arch/x86/kvm/../../../virt/kvm/kvm_main.c:424:53: note: earlier argument should specify number of elements, later size of each element The code still works correctly, but the incorrect order prevents the compiler from properly tracking the object sizes. Fixes: 837f66c71207 ("KVM: Allow for different capacities in kvm_mmu_memory_cache structs") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20240212112419.1186065-1-arnd@kernel.org Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/kvm_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 8f03b56dafbd..4c48f61cae35 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -421,7 +421,7 @@ int __kvm_mmu_topup_memory_cache(struct kvm_mmu_memory_cache *mc, int capacity,
if (WARN_ON_ONCE(!capacity))
return -EIO;
- mc->objects = kvmalloc_array(sizeof(void *), capacity, gfp);
+ mc->objects = kvmalloc_array(capacity, sizeof(void *), gfp);
if (!mc->objects)
return -ENOMEM;