Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] media: vb2: add length check for mmap

The length of mmap() can be bigger than length of vb2 buffer, so
it should be checked.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Seung-Woo Kim and committed by
Mauro Carvalho Chehab
068a0df7 27a0aacf

+5
+5
drivers/media/v4l2-core/videobuf2-core.c
··· 1886 1886 1887 1887 vb = q->bufs[buffer]; 1888 1888 1889 + if (vb->v4l2_planes[plane].length < (vma->vm_end - vma->vm_start)) { 1890 + dprintk(1, "Invalid length\n"); 1891 + return -EINVAL; 1892 + } 1893 + 1889 1894 ret = call_memop(q, mmap, vb->planes[plane].mem_priv, vma); 1890 1895 if (ret) 1891 1896 return ret;