CVE-2026-89871
Description
In the Linux kernel, the following vulnerability has been resolved: media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure kthread_run() returns an ERR_PTR on failure, not NULL. When start_streaming() fails, data->kthread_vid_cap is left holding this error pointer instead of being cleared. This causes two subsequent bugs: 1. A future call to start_streaming() sees a non-NULL kthread_vid_cap and returns 0 (success) immediately, without actually starting the capture thread. 2. A call to stop_streaming() checks 'kthread_vid_cap == NULL' which is false for an error pointer, and proceeds to call kthread_stop() on the error pointer, leading to a kernel crash. Fix this by resetting kthread_vid_cap to NULL on failure before jumping to the error path.
References
- https://git.kernel.org/stable/c/0e7f2cd72a4f9268ee09a13b13f3339e7cc71557
- https://git.kernel.org/stable/c/0fac63cac6689588da530764ccb6ba55ee8e4d8b
- https://git.kernel.org/stable/c/3d1b10d81fe54852ed953f4129577b733bbd6907
- https://git.kernel.org/stable/c/52fd9d80c0cea7bf09e7ee36cad316e5c39b7fe6
- https://git.kernel.org/stable/c/5c35d380bea60503c4fe0986fe1de6a3263282b3