re: kvm: irqchip: Break up high order allocations of kvm_irq_routing_table

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

 



Hello Joerg Roedel,

The patch e73f61e41f3b: "kvm: irqchip: Break up high order
allocations of kvm_irq_routing_table" from May 8, 2015, leads to the
following static checker warning:

	arch/x86/kvm/../../../virt/kvm/irqchip.c:238 kvm_set_irq_routing()
	warn: possible memory leak of 'e'

arch/x86/kvm/../../../virt/kvm/irqchip.c
   207          for (i = 0; i < nr; ++i) {
   208                  struct kvm_kernel_irq_routing_entry *e;
   209  
   210                  r = -ENOMEM;
   211                  e = kzalloc(sizeof(*e), GFP_KERNEL);
   212                  if (!e)
   213                          goto out;
   214  
   215                  r = -EINVAL;
   216                  if (ue->flags)
   217                          goto out;
				^^^^^^^^
Leaked here.  Move in front of the allocation?

   218                  r = setup_routing_entry(new, e, ue);
   219                  if (r)
   220                          goto out;
   221                  ++ue;
   222          }
   223  
   224          mutex_lock(&kvm->irq_lock);
   225          old = kvm->irq_routing;
   226          rcu_assign_pointer(kvm->irq_routing, new);
   227          kvm_irq_routing_update(kvm);
   228          mutex_unlock(&kvm->irq_lock);
   229  
   230          synchronize_srcu_expedited(&kvm->irq_srcu);
   231  
   232          new = old;
   233          r = 0;
   234  
   235  out:
   236          free_irq_routing_table(new);
   237  
   238          return r;
   239  }


regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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