Message ID | 1271878545-5965-1-git-send-email-stefanha@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Am 21.04.2010 21:35, schrieb Stefan Hajnoczi: > A new iovec array is allocated when creating a merged write request. > This patch ensures that the iovec array is deleted in addition to its > qiov owner. > > Reported-by: Leszek Urbanski <tygrys@moo.pl> > Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Acked-by: Kevin Wolf <kwolf@redhat.com> Picked it up for my block branch, too, but I think this should be committed immediately by Aurelien. Kevin
diff --git a/block.c b/block.c index 0881c93..99dd0f3 100644 --- a/block.c +++ b/block.c @@ -1731,6 +1731,9 @@ static void multiwrite_user_cb(MultiwriteCB *mcb) for (i = 0; i < mcb->num_callbacks; i++) { mcb->callbacks[i].cb(mcb->callbacks[i].opaque, mcb->error); + if (mcb->callbacks[i].free_qiov) { + qemu_iovec_destroy(mcb->callbacks[i].free_qiov); + } qemu_free(mcb->callbacks[i].free_qiov); qemu_vfree(mcb->callbacks[i].free_buf); }
A new iovec array is allocated when creating a merged write request. This patch ensures that the iovec array is deleted in addition to its qiov owner. Reported-by: Leszek Urbanski <tygrys@moo.pl> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- This fixes the virtio-blk memory leak that has recently been reported by Leszek Urbanski <tygrys@moo.pl>. The patch should apply to qemu.git and qemu-kvm.git. I'm proposing this patch for both qemu and qemu-kvm and their stable branches. Sorry if the CCs are overkill, please let me know so I can follow the process better next time. block.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)