[media] v4l2: vb2-dma-sg: fix potential security hole
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Wed, 2 Mar 2011 12:12:13 +0000 (09:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 22 Mar 2011 07:54:30 +0000 (04:54 -0300)
Memory allocated by alloc_page() function might contain some potentially
important data from other system processes. The patch adds a flag to
zero the allocated page before giving it to videobuf2 (and then to
userspace).

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/videobuf2-dma-sg.c

index d5311ff3fab00c9a4d6db348c46028f581b3420f..b2d9485aac75e7ade363e79a6994af5e003c4534 100644 (file)
@@ -62,7 +62,7 @@ static void *vb2_dma_sg_alloc(void *alloc_ctx, unsigned long size)
                goto fail_pages_array_alloc;
 
        for (i = 0; i < buf->sg_desc.num_pages; ++i) {
-               buf->pages[i] = alloc_page(GFP_KERNEL);
+               buf->pages[i] = alloc_page(GFP_KERNEL | __GFP_ZERO);
                if (NULL == buf->pages[i])
                        goto fail_pages_alloc;
                sg_set_page(&buf->sg_desc.sglist[i],