On Friday, November 26, 2010 21:41:02 Mauro Carvalho Chehab wrote: > This is an automatic generated email to let you know that the following patch were queued at the > http://git.linuxtv.org/media_tree.git tree: > > Subject: [media] [FOR, 2.6.37] Revert "V4L/DVB: v4l2-dev: remove unnecessary lock around atomic clear_bit" > Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Date: Mon Nov 22 07:21:27 2010 -0300 > > Removing the mutex_lock/unlock around clear_bit allowed > device_unregister() to race with v4l2_open(). The device can be > unregistered between the video_devdata() and video_get() calls. > > Revert the patch to fix the problem. > > This reverts commit dd0daf2a6fb6bec436a3ef68bd585ea09a2a54b7. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Acked-by: Hans Verkuil <hverkuil@xxxxxxxxx> > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Hmm, this shouldn't have been applied. The full fix for this race is in my BKL removal tree for 2.6.37. Regards, Hans > > drivers/media/video/v4l2-dev.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > --- > > http://git.linuxtv.org/media_tree.git?a=commitdiff;h=a287789447cecc7a82ffc4451cbaf16a5c1dccc0 > > diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c > index 03f7f46..f777da6 100644 > --- a/drivers/media/video/v4l2-dev.c > +++ b/drivers/media/video/v4l2-dev.c > @@ -596,7 +596,9 @@ void video_unregister_device(struct video_device *vdev) > if (!vdev || !video_is_registered(vdev)) > return; > > + mutex_lock(&videodev_lock); > clear_bit(V4L2_FL_REGISTERED, &vdev->flags); > + mutex_unlock(&videodev_lock); > device_unregister(&vdev->dev); > } > EXPORT_SYMBOL(video_unregister_device); > -- Hans Verkuil - video4linux developer - sponsored by Cisco -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html