Re: [PATCH] accel/kvm: ensure ret always set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux