From a9bb36aa0d6547aa0ab3d5cfde08e8651bd460bc Mon Sep 17 00:00:00 2001 From: Andrzej Pietrasiewicz Date: Fri, 28 Jan 2011 09:42:51 -0300 Subject: [PATCH] [media] v4l2: vb2-dma-sg: fix memory leak This patch fixes two minor memory leaks in videobuf2-dma-sg module. They might happen only in case some other operations (like memory allocation) failed. Signed-off-by: Andrzej Pietrasiewicz Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/videobuf2-dma-sg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/video/videobuf2-dma-sg.c b/drivers/media/video/videobuf2-dma-sg.c index 20b5c5dcc0ef..d5311ff3fab0 100644 --- a/drivers/media/video/videobuf2-dma-sg.c +++ b/drivers/media/video/videobuf2-dma-sg.c @@ -88,6 +88,7 @@ static void *vb2_dma_sg_alloc(void *alloc_ctx, unsigned long size) fail_pages_alloc: while (--i >= 0) __free_page(buf->pages[i]); + kfree(buf->pages); fail_pages_array_alloc: vfree(buf->sg_desc.sglist); @@ -176,6 +177,7 @@ userptr_fail_get_user_pages: num_pages_from_user, buf->sg_desc.num_pages); while (--num_pages_from_user >= 0) put_page(buf->pages[num_pages_from_user]); + kfree(buf->pages); userptr_fail_pages_array_alloc: vfree(buf->sg_desc.sglist); -- 2.20.1