Message ID | 20210809110120.3237065-1-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: remove dead initialization | expand |
On Mon, Aug 09, 2021, Paolo Bonzini wrote: > hv_vcpu is initialized again a dozen lines below, so remove the > initializer. Eewwww. It's not just dead code, it's code that could potentially lead to dereferncing a NULL pointer and/or a stale pointer. The second initialization of the local hv_vcpu happens after a conditional call to kvm_hv_vcpu_init(). Maybe update the changelog to clarify why the second initialization absolutely must be kept? For the code: Reviewed-by: Sean Christopherson <seanjc@google.com> > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > arch/x86/kvm/hyperv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c > index e9582db29a99..2da21e45da99 100644 > --- a/arch/x86/kvm/hyperv.c > +++ b/arch/x86/kvm/hyperv.c > @@ -1968,7 +1968,7 @@ static u64 kvm_hv_send_ipi(struct kvm_vcpu *vcpu, struct kvm_hv_hcall *hc, bool > void kvm_hv_set_cpuid(struct kvm_vcpu *vcpu) > { > struct kvm_cpuid_entry2 *entry; > - struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu); > + struct kvm_vcpu_hv *hv_vcpu; > > entry = kvm_find_cpuid_entry(vcpu, HYPERV_CPUID_INTERFACE, 0); > if (entry && entry->eax == HYPERV_CPUID_SIGNATURE_EAX) { > -- > 2.27.0 >
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c index e9582db29a99..2da21e45da99 100644 --- a/arch/x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -1968,7 +1968,7 @@ static u64 kvm_hv_send_ipi(struct kvm_vcpu *vcpu, struct kvm_hv_hcall *hc, bool void kvm_hv_set_cpuid(struct kvm_vcpu *vcpu) { struct kvm_cpuid_entry2 *entry; - struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu); + struct kvm_vcpu_hv *hv_vcpu; entry = kvm_find_cpuid_entry(vcpu, HYPERV_CPUID_INTERFACE, 0); if (entry && entry->eax == HYPERV_CPUID_SIGNATURE_EAX) {
hv_vcpu is initialized again a dozen lines below, so remove the initializer. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- arch/x86/kvm/hyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)