CVE-2026-89871 PUBLISHED

media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure

Assigner: Linux
Reserved: 11.09.2026 Published: 16.09.2026 Updated: 16.09.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to db0f4531aa55cfb0171684ebfffe3ff04b79d5a8 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 0fac63cac6689588da530764ccb6ba55ee8e4d8b (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 5c35d380bea60503c4fe0986fe1de6a3263282b3 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 3d1b10d81fe54852ed953f4129577b733bbd6907 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 968c5213e34c48d35febdfd09cf3dc58ad039140 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 52fd9d80c0cea7bf09e7ee36cad316e5c39b7fe6 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 0e7f2cd72a4f9268ee09a13b13f3339e7cc71557 (excl.)
  • affected from 5cebaac609744414463d1ecc28fdecd26c1b9bc1 to 76e379754ba618989f6215be608d5c04774a611d (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.18 is affected
  • unaffected from 0 to 4.18 (excl.)
  • unaffected from 5.10.270 to 5.10.* (incl.)
  • unaffected from 5.15.221 to 5.15.* (incl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.51 to 6.18.* (incl.)
  • unaffected from 7.2.5 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References