On Thu, Feb 08, 2018 at 04:58:46PM -0600, Tom Lendacky wrote: > @@ -2681,11 +2731,15 @@ static int __msr_io(struct kvm_vcpu *vcpu, struct kvm_msrs *msrs, > { > int i, idx; > > - idx = srcu_read_lock(&vcpu->kvm->srcu); > + if (vcpu) > + idx = srcu_read_lock(&vcpu->kvm->srcu); > + > for (i = 0; i < msrs->nmsrs; ++i) > if (do_msr(vcpu, entries[i].index, &entries[i].data)) > break; > - srcu_read_unlock(&vcpu->kvm->srcu, idx); > + > + if (vcpu) > + srcu_read_unlock(&vcpu->kvm->srcu, idx); ./include/linux/srcu.h:175:2: warning: ‘idx’ may be used uninitialized in this function [-Wmaybe-uninitialized] __srcu_read_unlock(sp, idx); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/x86/kvm/x86.c:2739:9: note: ‘idx’ was declared here int i, idx; ^~~ I know, silly gcc. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.