From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40820) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W5t9V-0002Dt-5F for qemu-devel@nongnu.org; Wed, 22 Jan 2014 03:27:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W5t9Q-0003bU-Uy for qemu-devel@nongnu.org; Wed, 22 Jan 2014 03:27:13 -0500 Received: from mx1.redhat.com ([209.132.183.28]:8609) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W5t9Q-0003b7-Mg for qemu-devel@nongnu.org; Wed, 22 Jan 2014 03:27:08 -0500 Date: Wed, 22 Jan 2014 16:27:03 +0800 From: Fam Zheng Message-ID: <20140122082703.GA13644@T430.redhat.com> References: <52DF7998.1000601@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <52DF7998.1000601@huawei.com> Subject: Re: [Qemu-devel] [PATCH] drive-mirror:fix memory leak List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhang Min Cc: kwolf@redhat.com, "Chentao (Boby)" , "Wangting (Kathy)" , qemu-devel , Qinling , stefanha@redhat.com, "Wubin (H)" On Wed, 01/22 15:56, Zhang Min wrote: > In the function mirror_iteration() -> qemu_iovec_init(), > it allocates memory for op->qiov.iov, when the write request calls back, > but in the function mirror_iteration_done(), it only frees the op, > not free the op->qiov.iov, so this causes memory leak. > > Signed-off-by: Zhang Min > --- > block/mirror.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/block/mirror.c b/block/mirror.c > index 2932bab..9840840 100644 > --- a/block/mirror.c > +++ b/block/mirror.c > @@ -96,6 +96,7 @@ static void mirror_iteration_done(MirrorOp *op, int ret) > bitmap_set(s->cow_bitmap, chunk_num, nb_chunks); > } > > + g_free(op->qiov.iov); > g_slice_free(MirrorOp, op); > qemu_coroutine_enter(s->common.co, NULL); > } > -- > 1.7.3.1.msysgit.0 > Reviewed-by: Fam Zheng In the future please keep maintainers Cc'ed, as noted in the wiki page, so your patch can get better chance of being noticed. http://wiki.qemu.org/Contribute/SubmitAPatch > Send patches to the mailing list and CC the relevant maintainer -- look in > the MAINTAINERS file to find out who that is. Also try using > scripts/getmaintainer.pl from the repository for learning the most common > committers for the files you touched.