linux/drivers/media/platform
Al Viro 55ee64b30a [media] omap_vout: find_vma() needs ->mmap_sem held
Walking rbtree while it's modified is a Bad Idea(tm); besides,
the result of find_vma() can be freed just as it's getting returned
to caller.  Fortunately, it's easy to fix - just take ->mmap_sem a bit
earlier (and don't bother with find_vma() at all if virtp >= PAGE_OFFSET -
in that case we don't even look at its result).

While we are at it, what prevents VIDIOC_PREPARE_BUF calling
v4l_prepare_buf() -> (e.g) vb2_ioctl_prepare_buf() -> vb2_prepare_buf() ->
__buf_prepare() -> __qbuf_userptr() -> vb2_vmalloc_get_userptr() -> find_vma(),
AFAICS without having taken ->mmap_sem anywhere in process?  The code flow
is bloody convoluted and depends on a bunch of things done by initialization,
so I certainly might've missed something...

Cc: stable@vger.kernel.org [2.6.35]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Archit Taneja <archit@ti.com>
Cc: Prabhakar Lad <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2013-01-06 11:01:06 -02:00
..
blackfin [media] blackfin Kconfig: select is evil; use, instead depends on 2012-12-27 21:21:14 -02:00
davinci [media] davinci: vpbe: remove unused variable in vpbe_initialize() 2012-12-21 14:23:09 -02:00
exynos-gsc [media] exynos-gsc: Support dmabuf export buffer 2013-01-06 09:42:33 -02:00
marvell-ccic [media] marvell-ccic: use internal variable replace global frame stats variable 2012-12-27 18:04:22 -02:00
omap [media] omap_vout: find_vma() needs ->mmap_sem held 2013-01-06 11:01:06 -02:00
omap3isp [media] omap3isp: ispqueue: Fix uninitialized variable compiler warnings 2012-12-27 18:21:49 -02:00
s3c-camif [media] s3c-camif: Add missing version.h header file 2012-12-27 20:26:06 -02:00
s5p-fimc [media] s5p-fimc: Prevent AB-BA deadlock during links reconfiguration 2013-01-06 09:26:20 -02:00
s5p-g2d [media] s5p-g2d: Fix incorrect usage of IS_ERR_OR_NULL 2013-01-06 09:41:40 -02:00
s5p-jpeg [media] s5p-jpeg: convert struct spinlock to spinlock_t 2012-12-27 14:59:44 -02:00
s5p-mfc [media] s5p-mfc: Context handling in open() bugfix 2013-01-06 09:59:20 -02:00
s5p-tv [media] s5p-tv: Add missing braces around sizeof in hdmi_drv.c 2013-01-06 09:41:11 -02:00
soc_camera [media] mx2_camera: Convert it to platform driver 2013-01-05 01:52:06 -02:00
arv.c
coda.c [media] media: coda: Fix H.264 header alignment - v2 2012-12-21 16:56:31 -02:00
coda.h
fsl-viu.c [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
indycam.c
indycam.h
Kconfig [media] v4l: Don't compile v4l2-int-device unless really needed 2013-01-06 10:46:40 -02:00
m2m-deinterlace.c [media] m2m-deinterlace: use correct check for kzalloc failure 2012-12-27 19:08:12 -02:00
Makefile [media] media: add a VEU MEM2MEM format conversion and scaling driver 2012-12-20 14:23:10 -02:00
mem2mem_testdev.c [media] v4l: mem2mem_testdev: add support for dmabuf importing 2012-11-25 17:19:45 -02:00
mx2_emmaprp.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-12-13 19:22:22 -08:00
omap24xxcam-dma.c
omap24xxcam.c [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
omap24xxcam.h
sh_veu.c [media] sh_veu.c: fix two compilation warnings 2012-12-20 14:55:12 -02:00
sh_vou.c [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
timblogiw.c [media] v4l: Convert drivers to use monotonic timestamps 2012-12-21 10:56:43 -02:00
via-camera.c
via-camera.h
vino.c [media] v4l: Tell user space we're using monotonic timestamps 2012-12-21 11:20:51 -02:00
vino.h
vivi.c [media] vivi: Constify structures 2012-12-28 13:32:51 -02:00