* Gregory Haskins (gregory.haskins@xxxxxxxxx) wrote: > Chris Wright wrote: > > * Gregory Haskins (ghaskins@xxxxxxxxxx) wrote: > >> It would appear that we are invoking kfree() on the wrong pointer in the > >> destructor for the coalesced_mmio device. This would result in a potential > >> leak during shutdown. > > > > Happens to work and not leak: > > > > struct kvm_coalesced_mmio_dev { > > struct kvm_io_device dev; > > struct kvm *kvm; > > int nb_zones; > > struct kvm_coalesced_mmio_zone zone[KVM_COALESCED_MMIO_ZONE_MAX]; > > }; > > > > > Ah, yes. That explains it. Still sloppy, tho. Definitely. > >> static void coalesced_mmio_destructor(struct kvm_io_device *this) > >> { > >> - kfree(this); > >> + struct kvm_coalesced_mmio_dev *dev = > >> + (struct kvm_coalesced_mmio_dev *)this->private; > >> > > > > I think container_of() makes more sense here. > > I was working on that patch when I noticed the "leak" above. Figured I > should send the fix out first, in case my container_of patch is shot down. > > Just polishing it up now. Will send out soon. Sounds good. thanks, -chris -- 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