In the Linux kernel, the following vulnerability has been resolved:
net: qrtr: start MHI channel after endpoit creation
MHI channel may generates event/interrupt right after enabling. It may leads to 2 race conditions issues.
Such event may be dropped by qcom_mhi_qrtr_dl_callback() at check:
if (!qdev || mhi_res->transaction_status)
return;
Such event may come at the moment after dev_set_drvdata() and before qrtr_endpoint_register(). In this case kernel will panic with accessing wrong pointer at qcom_mhi_qrtr_dl_callback():
rc = qrtr_endpoint_post(&qdev->ep, mhi_res->buf_addr,
mhi_res->bytes_xferd);
So move mhi_prepare_for_transfer_autoqueue after endpoint creation to fix it.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 5.11 | 5.15.63 |
| linux / linux_kernel | 5.16 | 5.19.4 |
| linux / linux_kernel | 6.0-rc1 | 6.0-rc1.x |