On (24/03/27 08:24), Ricardo Ribalda wrote: > Back in 2020 Guenter published a set of patches to fix some race > conditions in UVC: > https://lore.kernel.org/all/20200917022547.198090-5-linux@xxxxxxxxxxxx/ > > That kind of race conditions are not only seen in UVC, but are a common > seen in almost all the kernel, so this is what it was decided back then > that we should try to fix them at higher levels. > > After that. A lot of video_is_registered() were added to the core: > > ``` > ribalda@alco:~/work/linux$ git grep is_registered drivers/media/v4l2-core/ > drivers/media/v4l2-core/v4l2-compat-ioctl32.c: if (!video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) { > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (!video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (vdev == NULL || !video_is_registered(vdev)) { > drivers/media/v4l2-core/v4l2-dev.c: if (video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-dev.c: if (!vdev || !video_is_registered(vdev)) > drivers/media/v4l2-core/v4l2-ioctl.c: if (!video_is_registered(vfd)) { > drivers/media/v4l2-core/v4l2-subdev.c: if (video_is_registered(vdev)) { > ``` > > And recently Sakari is trying to land: > https://lore.kernel.org/linux-media/20230201214535.347075-1-sakari.ailus@xxxxxxxxxxxxxxx/ > > Which will make obsolete a lot off (all?) of the video_is_registered() checks in > Guenter's patches. > > Besides those checks, there were some other valid races fixed in his > patches. > > This patchset tries to fix the races still present in our code. > > Thanks! > > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> Reviewed-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>