• Arnd Bergmann's avatar
    x86: kvm: avoid -Wsometimes-uninitized warning · f4e4805e
    Arnd Bergmann authored
    Clang notices a code path in which some variables are never
    initialized, but fails to figure out that this can never happen
    on i386 because is_64_bit_mode() always returns false.
    
    arch/x86/kvm/hyperv.c:1610:6: error: variable 'ingpa' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
            if (!longmode) {
                ^~~~~~~~~
    arch/x86/kvm/hyperv.c:1632:55: note: uninitialized use occurs here
            trace_kvm_hv_hypercall(code, fast, rep_cnt, rep_idx, ingpa, outgpa);
                                                                 ^~~~~
    arch/x86/kvm/hyperv.c:1610:2: note: remove the 'if' if its condition is always true
            if (!longmode) {
            ^~~~~~~~~~~~~~~
    arch/x86/kvm/hyperv.c:1595:18: note: initialize the variable 'ingpa' to silence this warning
            u64 param, ingpa, outgpa, ret = HV_STATUS_SUCCESS;
                            ^
                             = 0
    arch/x86/kvm/hyperv.c:1610:6: error: variable 'outgpa' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
    arch/x86/kvm/hyperv.c:1610:6: error: variable 'param' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
    
    Flip the condition around to avoid the conditional execution on i386.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    f4e4805e
hyperv.c 49.2 KB