linux/drivers/media/video/uvc
Laurent Pinchart ed0ee0ce0a [media] uvcvideo: Fix race-related crash in uvc_video_clock_update()
The driver frees the clock samples buffer before stopping the video
buffers queue. If a DQBUF call arrives in-between,
uvc_video_clock_update() will be called with a NULL clock samples
buffer, leading to a crash. This occurs very frequently when using the
webcam with the flash browser plugin.

Move clock initialization/cleanup to uvc_video_enable() in order to free
the clock samples buffer after the queue is stopped. Make sure the clock
is reset at resume time to avoid miscalculating timestamps.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-04-09 10:15:28 -03:00
..
Kconfig [media] uvcvideo: Use videobuf2-vmalloc 2011-12-11 11:13:06 -02:00
Makefile [media] uvcvideo: Add debugfs support 2011-12-11 11:22:07 -02:00
uvc_ctrl.c [media] uvcvideo: Use kcalloc instead of kzalloc to allocate array 2011-12-30 17:22:12 -02:00
uvc_debugfs.c [media] uvcvideo: Extract video stream statistics 2011-12-11 11:22:08 -02:00
uvc_driver.c [media] uvcvideo: uvc_driver.c: use linux/atomic.h 2012-03-19 14:08:34 -03:00
uvc_entity.c [media] uvcvideo: Fix crash when linking entities 2011-09-21 22:18:07 -03:00
uvc_isight.c [media] uvcvideo: Move fields from uvc_buffer::buf to uvc_buffer 2011-12-11 11:12:05 -02:00
uvc_queue.c [media] uvcvideo: Allow userptr IO mode 2012-03-19 14:07:13 -03:00
uvc_status.c [media] uvcvideo: Update e-mail address and copyright notices 2010-10-21 01:18:18 -02:00
uvc_v4l2.c [media] uvcvideo: Implement compat_ioctl32 for custom ioctls 2012-03-19 14:07:01 -03:00
uvc_video.c [media] uvcvideo: Fix race-related crash in uvc_video_clock_update() 2012-04-09 10:15:28 -03:00
uvcvideo.h [media] uvcvideo: Fix integer overflow in uvc_ioctl_ctrl_map() 2011-12-11 11:23:54 -02:00