drivers/media/usb/usbtv/usbtv-video.c | 2 -- 1 file changed, 2 deletions(-)
vb2_video_unregister_device() will get vb2q_lock, so usbtv_video_free() does
not need vb2q_lock.
Reported-and-tested-by: syzbot+2622b51b35f91a00ea18@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
---
drivers/media/usb/usbtv/usbtv-video.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
index 62a583040cd4..b55f432b44d4 100644
--- a/drivers/media/usb/usbtv/usbtv-video.c
+++ b/drivers/media/usb/usbtv/usbtv-video.c
@@ -963,7 +963,6 @@ int usbtv_video_init(struct usbtv *usbtv)
void usbtv_video_free(struct usbtv *usbtv)
{
- mutex_lock(&usbtv->vb2q_lock);
mutex_lock(&usbtv->v4l2_lock);
usbtv_stop(usbtv);
@@ -971,7 +970,6 @@ void usbtv_video_free(struct usbtv *usbtv)
v4l2_device_disconnect(&usbtv->v4l2_dev);
mutex_unlock(&usbtv->v4l2_lock);
- mutex_unlock(&usbtv->vb2q_lock);
v4l2_device_put(&usbtv->v4l2_dev);
}
--
2.43.0
On 2/29/24 13:21, Edward Adam Davis wrote:
> vb2_video_unregister_device() will get vb2q_lock, so usbtv_video_free() does
> not need vb2q_lock.
>
> Reported-and-tested-by: syzbot+2622b51b35f91a00ea18@syzkaller.appspotmail.com
> Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Duplicate of:
https://lore.kernel.org/linux-media/19cdefd3-163b-41a1-b603-764aab4b5b90@xs4all.nl/
I'm waiting for a v2 of that one.
Regards,
Hans
> ---
> drivers/media/usb/usbtv/usbtv-video.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
> index 62a583040cd4..b55f432b44d4 100644
> --- a/drivers/media/usb/usbtv/usbtv-video.c
> +++ b/drivers/media/usb/usbtv/usbtv-video.c
> @@ -963,7 +963,6 @@ int usbtv_video_init(struct usbtv *usbtv)
>
> void usbtv_video_free(struct usbtv *usbtv)
> {
> - mutex_lock(&usbtv->vb2q_lock);
> mutex_lock(&usbtv->v4l2_lock);
>
> usbtv_stop(usbtv);
> @@ -971,7 +970,6 @@ void usbtv_video_free(struct usbtv *usbtv)
> v4l2_device_disconnect(&usbtv->v4l2_dev);
>
> mutex_unlock(&usbtv->v4l2_lock);
> - mutex_unlock(&usbtv->vb2q_lock);
>
> v4l2_device_put(&usbtv->v4l2_dev);
> }
© 2016 - 2026 Red Hat, Inc.