CVE-2021-46969: bus: mhi: core: Fix invalid error returning in mhi_queue
In the Linux kernel, the following vulnerability has been resolved:
bus: mhi: core: Fix invalid error returning in mhiqueue
mhiqueue returns an error when the doorbell is not accessible in the current state. This can happen when the device is in non M0 state, like M3, and needs to be waken-up prior ringing the DB. This case is managed earlier by triggering an asynchronous M3 exit via controller resume/suspend callbacks, that in turn will cause M0 transition and DB update.
So, since it's not an error but just delaying of doorbell update, there is no reason to return an error.
This also fixes a use after free error for skb case, indeed a caller queuing skb will try to free the skb if the queueing fails, but in that case queueing has been done.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2021-46969?
CVE-2021-46969 is classified as a moderate severity vulnerability affecting the Linux kernel.
What versions of the Linux kernel are affected by CVE-2021-46969?
CVE-2021-46969 affects the Linux kernel versions between 5.12 and 5.12.3.
How do I fix CVE-2021-46969?
To mitigate CVE-2021-46969, upgrade your Linux kernel to a version later than 5.12.3.
What impact does CVE-2021-46969 have on system security?
CVE-2021-46969 may lead to unexpected behavior in device communication during specific states.
Is there a workaround for CVE-2021-46969?
Currently, there are no known effective workarounds for CVE-2021-46969 besides upgrading the kernel.