[KVM PATCH v2 1/3] kvm: fix potential coalesced_mmio leak on shutdown

From: Gregory Haskins
Date: Wed May 27 2009 - 18:17:25 EST

It would appear that we are invoking kfree() on the wrong pointer in the
destructor for the coalesced_mmio device. This could result in a potential
leak during shutdown. This works today because the kvm_io_device is
the first element of the private structure, but this could change in
the future, so lets clean this up.

Signed-off-by: Gregory Haskins <ghaskins@xxxxxxxxxx>

virt/kvm/coalesced_mmio.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/virt/kvm/coalesced_mmio.c b/virt/kvm/coalesced_mmio.c
index 5ae620d..03ea280 100644
--- a/virt/kvm/coalesced_mmio.c
+++ b/virt/kvm/coalesced_mmio.c
@@ -80,7 +80,10 @@ static void coalesced_mmio_write(struct kvm_io_device *this,

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;
+ kfree(dev);

int kvm_coalesced_mmio_init(struct kvm *kvm)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/