Description
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. 1) Such event may be dropped by qcom_mhi_qrtr_dl_callback() at check: if (!qdev || mhi_res->transaction_status) return; Because dev_set_drvdata(&mhi_dev->dev, qdev) may be not performed at this moment. In this situation qrtr-ns will be unable to enumerate services in device. --------------------------------------------------------------- 2) 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); Because endpoint is not created yet. -------------------------------------------------------------- So move mhi_prepare_for_transfer_autoqueue after endpoint creation to fix it.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a2e2cc0dbb1121dfa875da1c04f3dff966fec162 to < c682fb70a7dfc25b848a4ff3a385b0471b470606affecteda2e2cc0dbb1121dfa875da1c04f3dff966fec162 to < a1a75f78a2937567946b1b756f82462874b5ca20affecteda2e2cc0dbb1121dfa875da1c04f3dff966fec162 to < 68a838b84effb7b57ba7d50b1863fc6ae35a54ceaffected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.63 to ≤ 5.15.*unaffected5.19.4 to ≤ 5.19.*unaffected6.0 to ≤ *unaffected