High · published October 21, 2024
In the Linux kernel, the following vulnerability has been resolved:
media: venus: fix use after free bug in venus_remove due to race condition
in venus_probe, core->work is bound with venus_sys_error_handler, which is
used to handle error. The code use core->sys_err_done to make sync work.
The core->work is started in venus_event_notify.
If we call venus_remove, there might be an unfished work. The possible
sequence is as follows:
CPU0 CPU1
|venus_sys_error_handler
venus_remove |
hfi_destroy |
venus_hfi_destroy |
kfree(hdev); |
|hfi_reinit
|venus_hfi_queues_reinit
|//use hdev
Fix it by canceling the work in venus_remove.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.13, < 5.10.227 | 5.10.227 |
| linux/linux_kernel | ≥ 5.11, < 5.15.168 | 5.15.168 |
| linux/linux_kernel | ≥ 5.16, < 6.1.113 | 6.1.113 |
| linux/linux_kernel | ≥ 6.2, < 6.6.55 | 6.6.55 |
| linux/linux_kernel | ≥ 6.7, < 6.10.14 | 6.10.14 |
| linux/linux_kernel | ≥ 6.11, < 6.11.3 | 6.11.3 |