On 07/01/20 15:46, Peter Maydell wrote:
> On Wed, 18 Dec 2019 at 12:26, Paolo Bonzini <[email protected]> wrote:
>>
>> Signed-off-by: Paolo Bonzini <[email protected]>
>
>> +static void kvm_set_kernel_irqchip(Object *obj, Visitor *v,
>> + const char *name, void *opaque,
>> + Error **errp)
>> +{
>> + Error *err = NULL;
>> + KVMState *s = KVM_STATE(obj);
>> + OnOffSplit mode;
>> +
>> + visit_type_OnOffSplit(v, name, &mode, &err);
>
> Coverity complains that this call uses 'mode' uninitialized,
> which seems correct since it starts off with 'value = *obj'.
> (CID 1412230)
The visitor here is not supposed to look at value (rather it should fill
it in)---but yeah this is an ugly part of the visitor API that we can
work around most simply by initializing mode.
Paolo
>
>> + if (err) {
>> + error_propagate(errp, err);
>> + return;
>> + } else {
>> + switch (mode) {
>> + case ON_OFF_SPLIT_ON:
>> + s->kernel_irqchip_allowed = true;
>> + s->kernel_irqchip_required = true;
>> + s->kernel_irqchip_split = false;
>> + break;
>> + case ON_OFF_SPLIT_OFF:
>> + s->kernel_irqchip_allowed = false;
>> + s->kernel_irqchip_required = false;
>> + s->kernel_irqchip_split = false;
>> + break;
>> + case ON_OFF_SPLIT_SPLIT:
>> + s->kernel_irqchip_allowed = true;
>> + s->kernel_irqchip_required = true;
>> + s->kernel_irqchip_split = true;
>> + break;
>> + default:
>> + /* The value was checked in visit_type_OnOffSplit() above. If
>> + * we get here, then something is wrong in QEMU.
>> + */
>> + abort();
>> + }
>> + }
>> +}
>
>
> thanks
> -- PMM
>