hw/core/machine-smp: Initialize caches_bitmap before reading
authorZhao Liu <zhao1.liu@intel.com>
Sun, 10 Nov 2024 15:09:00 +0000 (23:09 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 19 Nov 2024 17:38:25 +0000 (18:38 +0100)
The caches_bitmap is defined in machine_parse_smp_cache(), but it was
not initialized.

Initialize caches_bitmap by clearing all its bits to zero.

Resolves: Coverity CID 1565389
Fixes: 4e88e7e3403d ("qapi/qom: Define cache enumeration and properties for machine")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20241110150901.130647-2-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/core/machine-smp.c

index 640b2114b42968f5a297ea56e478ba46c8af5456..b87637c78f6f35f5fa0a963285b62d4d8ea445af 100644 (file)
@@ -290,6 +290,7 @@ bool machine_parse_smp_cache(MachineState *ms,
     const SmpCachePropertiesList *node;
     DECLARE_BITMAP(caches_bitmap, CACHE_LEVEL_AND_TYPE__MAX);
 
+    bitmap_zero(caches_bitmap, CACHE_LEVEL_AND_TYPE__MAX);
     for (node = caches; node; node = node->next) {
         /* Prohibit users from repeating settings. */
         if (test_bit(node->value->cache, caches_bitmap)) {