[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 36/83] memory: initialize 'fv' in MemoryRegionCache to make Coveri
|
From: |
Michael S. Tsirkin |
|
Subject: |
[PULL 36/83] memory: initialize 'fv' in MemoryRegionCache to make Coverity happy |
|
Date: |
Wed, 18 Oct 2023 11:56:01 -0400 |
From: Ilya Maximets <i.maximets@ovn.org>
Coverity scan reports multiple false-positive "defects" for the
following series of actions in virtio.c:
MemoryRegionCache indirect_desc_cache;
address_space_cache_init_empty(&indirect_desc_cache);
address_space_cache_destroy(&indirect_desc_cache);
For some reason it's unable to recognize the dependency between 'mrs.mr'
and 'fv' and insists that '!mrs.mr' check in address_space_cache_destroy
may take a 'false' branch, even though it is explicitly initialized to
NULL in the address_space_cache_init_empty():
*** CID 1522371: Memory - illegal accesses (UNINIT)
/qemu/hw/virtio/virtio.c: 1627 in virtqueue_split_pop()
1621 }
1622
1623 vq->inuse++;
1624
1625 trace_virtqueue_pop(vq, elem, elem->in_num, elem->out_num);
1626 done:
>>> CID 1522371: Memory - illegal accesses (UNINIT)
>>> Using uninitialized value "indirect_desc_cache.fv" when
>>> calling "address_space_cache_destroy".
1627 address_space_cache_destroy(&indirect_desc_cache);
1628
1629 return elem;
1630
1631 err_undo_map:
1632 virtqueue_undo_map_desc(out_num, in_num, iov);
** CID 1522370: Memory - illegal accesses (UNINIT)
Instead of trying to silence these false positive reports in 4
different places, initializing 'fv' as well, as this doesn't result
in any noticeable performance impact.
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Message-Id: <20231009104322.3085887-1-i.maximets@ovn.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
include/exec/memory.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 653a32ea10..9087d02769 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -2793,6 +2793,8 @@ int64_t address_space_cache_init(MemoryRegionCache *cache,
static inline void address_space_cache_init_empty(MemoryRegionCache *cache)
{
cache->mrs.mr = NULL;
+ /* There is no real need to initialize fv, but it makes Coverity happy. */
+ cache->fv = NULL;
}
/**
--
MST
- [PULL 15/83] tests: bios-tables-test: Add test for smbios type4 count, (continued)
- [PULL 15/83] tests: bios-tables-test: Add test for smbios type4 count, Michael S. Tsirkin, 2023/10/18
- [PULL 18/83] tests: bios-tables-test: Add test for smbios type4 core count, Michael S. Tsirkin, 2023/10/18
- [PULL 20/83] tests: bios-tables-test: Prepare the ACPI table change for smbios type4 core count2 test, Michael S. Tsirkin, 2023/10/18
- [PULL 21/83] tests: bios-tables-test: Extend smbios core count2 test to cover general topology, Michael S. Tsirkin, 2023/10/18
- [PULL 28/83] tests: bios-tables-test: Add ACPI table binaries for smbios type4 thread count2 test, Michael S. Tsirkin, 2023/10/18
- [PULL 24/83] tests: bios-tables-test: Add test for smbios type4 thread count, Michael S. Tsirkin, 2023/10/18
- [PULL 27/83] tests: bios-tables-test: Add test for smbios type4 thread count2, Michael S. Tsirkin, 2023/10/18
- [PULL 19/83] tests: bios-tables-test: Add ACPI table binaries for smbios type4 core count test, Michael S. Tsirkin, 2023/10/18
- [PULL 32/83] vhost-user: flatten "enforce_reply" into "vhost_user_write_sync", Michael S. Tsirkin, 2023/10/18
- [PULL 33/83] vhost-user: hoist "write_sync", "get_features", "get_u64", Michael S. Tsirkin, 2023/10/18
- [PULL 36/83] memory: initialize 'fv' in MemoryRegionCache to make Coverity happy,
Michael S. Tsirkin <=
- [PULL 41/83] timer/i8254: Fix one shot PIT mode, Michael S. Tsirkin, 2023/10/18
- [PULL 42/83] hw/display: fix memleak from virtio_add_resource, Michael S. Tsirkin, 2023/10/18
- [PULL 40/83] hw/i386/acpi-build: Remove build-time assertion on PIIX/ICH9 reset registers being identical, Michael S. Tsirkin, 2023/10/18
- [PULL 44/83] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge, Michael S. Tsirkin, 2023/10/18
- [PULL 48/83] hw/i386/pc_piix: Remove redundant "piix3" variable, Michael S. Tsirkin, 2023/10/18
- [PULL 29/83] vhost-user: strip superfluous whitespace, Michael S. Tsirkin, 2023/10/18
- [PULL 37/83] vhost-user: do not send RESET_OWNER on device reset, Michael S. Tsirkin, 2023/10/18
- [PULL 51/83] hw/isa/piix3: Wire PIC IRQs to ISA bus in host device, Michael S. Tsirkin, 2023/10/18
- [PULL 50/83] hw/i386/pc_q35: Wire ICH9 LPC function's interrupts before its realize(), Michael S. Tsirkin, 2023/10/18
- [PULL 52/83] hw/i386/pc: Wire RTC ISA IRQs in south bridges, Michael S. Tsirkin, 2023/10/18