CVE-2026-72484
Description
In the Linux kernel, the following vulnerability has been resolved: staging: most: video: avoid double free on video register failure comp_register_videodev() allocates a video_device with video_device_alloc() and releases it if video_register_device() fails. This can double free the video_device when __video_register_device() reaches device_register() and that call fails: video_register_device() -> __video_register_device() -> device_register() fails -> put_device(&vdev->dev) -> v4l2_device_release() -> vdev->release(vdev) -> video_device_release(vdev) comp_register_videodev() -> video_device_release(mdev->vdev) Use video_device_release_empty() while registering the device so that registration failure paths do not free mdev->vdev through vdev->release(). comp_register_videodev() then releases mdev->vdev exactly once on failure. Restore video_device_release() after successful registration so the registered device keeps its normal lifetime handling. This issue was found by a static analysis tool I am developing.
References
- https://git.kernel.org/stable/c/009d58b73500d0b49f6ae3833f8afcb0ebd9ddbb
- https://git.kernel.org/stable/c/43078449ad6236d839e4d707954d2e36b10a6706
- https://git.kernel.org/stable/c/430ad4ea06a0767fb44a08e2212ceb3a996607ee
- https://git.kernel.org/stable/c/46ea51f5b2ee1a3b40c05b7c750cbc5cabe94062
- https://git.kernel.org/stable/c/4928096212b78262dbbeab3b3abf2352278ce22d