Medium · published July 25, 2026
In the Linux kernel, the following vulnerability has been resolved:
media: mtk-jpeg: cancel workqueue on release for supported platforms only
Since a recent fix the mtk_jpeg_release function cancels any pending
or running work present in the driver workqueue using
cancel_work_sync function.
Currently, only the multicore based variants use this workqueue and they
have the jpeg_worker platform data field initialized with a workqueue
callback function. For the others, this field value remain NULL by
default.
The cancel_work_sync function is unconditionally called in
mtk_jpeg_release function, even for the variants that do not use the
workqueue. This call generates a WARN_ON print in __flush_work because
the workqueue callback function presence check fails in __flush_work
function (used by cancel_work_sync).
So, to avoid these warnings, call cancel_work_sync only if a workqueue
callback is defined in platform data.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.6.140, < 6.6.145 | 6.6.145 |
| linux/linux_kernel | ≥ 6.12.86, < 6.12.96 | 6.12.96 |
| linux/linux_kernel | ≥ 6.18.27, < 6.18.39 | 6.18.39 |
| linux/linux_kernel | ≥ 7.0.4, < 7.1.4 | 7.1.4 |