mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 15:13:52 +00:00
1ed4477f2e
After the new V4L2 device node was registered, some additional initialization was done before the device node was marked as 'registered'. During the time between creating the device node and marking it as 'registered' it was possible to open the device node, which would return -ENODEV since the 'registered' flag was not yet set. Hold the videodev_lock mutex from just before the device node is registered until the 'registered' flag is set. Since v4l2_open will take the same lock, it will wait until this registration process is finished. This resolves this race condition. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> Cc: <stable@vger.kernel.org> # for vi4.18 and up |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
tuner-core.c | ||
v4l2-async.c | ||
v4l2-cci.c | ||
v4l2-common.c | ||
v4l2-compat-ioctl32.c | ||
v4l2-ctrls-api.c | ||
v4l2-ctrls-core.c | ||
v4l2-ctrls-defs.c | ||
v4l2-ctrls-priv.h | ||
v4l2-ctrls-request.c | ||
v4l2-dev.c | ||
v4l2-device.c | ||
v4l2-dv-timings.c | ||
v4l2-event.c | ||
v4l2-fh.c | ||
v4l2-flash-led-class.c | ||
v4l2-fwnode.c | ||
v4l2-h264.c | ||
v4l2-i2c.c | ||
v4l2-ioctl.c | ||
v4l2-jpeg.c | ||
v4l2-mc.c | ||
v4l2-mem2mem.c | ||
v4l2-spi.c | ||
v4l2-subdev-priv.h | ||
v4l2-subdev.c | ||
v4l2-trace.c | ||
v4l2-vp9.c |