qemu/migration
Peter Maydell 4bcb7de072 migration: Define BLK_MIG_BLOCK_SIZE as unsigned long long
When we use BLK_MIG_BLOCK_SIZE in expressions like
block_mig_state.submitted * BLK_MIG_BLOCK_SIZE, this multiplication
is done as 32 bits, because both operands are 32 bits.  Coverity
complains about possible overflows because we then accumulate that
into a 64 bit variable.

Define BLK_MIG_BLOCK_SIZE as unsigned long long using the ULL suffix.
The only two current uses of it with this problem are both in
block_save_pending(), so we could just cast to uint64_t there, but
using the ULL suffix is simpler and ensures that we don't
accidentally introduce new variants of the same issue in future.

Resolves: Coverity CID 1487136, 1487175
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20220721115207.729615-3-peter.maydell@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2022-08-02 16:46:52 +01:00
..
block-dirty-bitmap.c
block.c migration: Define BLK_MIG_BLOCK_SIZE as unsigned long long 2022-08-02 16:46:52 +01:00
block.h
channel-block.c
channel-block.h
channel.c
channel.h
colo-failover.c
colo.c
dirtyrate.c
dirtyrate.h
exec.c
exec.h
fd.c
fd.h
global_state.c
meson.build
migration.c
migration.h
multifd-zlib.c
multifd-zstd.c
multifd.c
multifd.h
page_cache.c
page_cache.h
postcopy-ram.c
postcopy-ram.h
qemu-file.c
qemu-file.h
ram.c
ram.h
rdma.c
rdma.h
savevm.c
savevm.h
socket.c
socket.h
target.c
tls.c
tls.h
trace-events
trace.h
vmstate-types.c
vmstate.c
xbzrle.c
xbzrle.h
yank_functions.c
yank_functions.h