[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] memory: initialize 'fv' in MemoryRegionCache to make Coverit
|
From: |
Stefan Hajnoczi |
|
Subject: |
Re: [PATCH] memory: initialize 'fv' in MemoryRegionCache to make Coverity happy |
|
Date: |
Wed, 11 Oct 2023 16:59:51 -0400 |
On Mon, 9 Oct 2023 at 06:44, Ilya Maximets <i.maximets@ovn.org> wrote:
>
> 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>
> ---
> include/exec/memory.h | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>