Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> writes: > On 10/3/19 11:22 AM, Stefano Garzarella wrote: >> On Wed, Oct 02, 2019 at 01:08:40PM +0200, Paolo Bonzini wrote: >>> On 02/10/19 12:22, Alex Bennée wrote: >>>> Some of the cross compilers rightly complain there are cases where ret >>>> may not be set. 0 seems to be the reasonable default unless particular >>>> slot explicitly returns -1. >>>> >> Even Coverity reported it (CID 1405857). > > And GCC ;) So my normal gcc didn't catch that - which is odd as I didn't expect the shippable gcc's to be ahead of my local buster install. > > /home/phil/source/qemu/accel/kvm/kvm-all.c: In function ‘kvm_log_clear’: > /home/phil/source/qemu/accel/kvm/kvm-all.c:1121:8: error: ‘ret’ may be > used uninitialized in this function [-Werror=maybe-uninitialized] > if (r < 0) { > ^ > cc1: all warnings being treated as errors > make[1]: *** [/home/phil/source/qemu/rules.mak:69: > accel/kvm/kvm-all.o] Error 1 > > Fixes: 4222147dfb7 > >>>> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> >>>> --- >>>> accel/kvm/kvm-all.c | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c >>>> index aabe097c41..d2d96d73e8 100644 >>>> --- a/accel/kvm/kvm-all.c >>>> +++ b/accel/kvm/kvm-all.c >>>> @@ -712,11 +712,11 @@ static int kvm_physical_log_clear(KVMMemoryListener *kml, >>>> KVMState *s = kvm_state; >>>> uint64_t start, size, offset, count; >>>> KVMSlot *mem; >>>> - int ret, i; >>>> + int ret = 0, i; >>>> if (!s->manual_dirty_log_protect) { >>>> /* No need to do explicit clear */ >>>> - return 0; >>>> + return ret; >>>> } >>>> start = section->offset_within_address_space; >>>> @@ -724,7 +724,7 @@ static int kvm_physical_log_clear(KVMMemoryListener *kml, >>>> if (!size) { >>>> /* Nothing more we can do... */ >>>> - return 0; >>>> + return ret; >>>> } >>>> kvm_slots_lock(kml); >>>> >>> >>> Queued, thanks. >>> >>> Paolo >>> >> -- Alex Bennée