Description
In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Fix requested device removal race scmi_protocol_device_unrequest() drops scmi_requested_devices_mtx while notifying listeners but continues to retain the per-protocol list head. When two SCMI drivers for the same protocol unregister concurrently, one thread can remove the final request and free the list head while the other is running its notifier. The latter then dereferences the freed list head after reacquiring the mutex and can free it a second time. Complete the list and IDR updates, including freeing an empty list head, before dropping the mutex. Keep the blocking notifier outside the critical section and retain only the detached request across the callback.
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
a6fe96b2e371d5fd300cca24459cdcf471c2c741 to < 803e50af43ab1c3f76cbc744e496532ec151f305affectedd3cd7c525fd2ecce3a6c963f314969a54783d211 to < 2ff7713b7308cd6bea3328f7cd750b5eaab42af3affectedd3cd7c525fd2ecce3a6c963f314969a54783d211 to < 1c35915eaaa81a12340c838c5c2ccb02be2194c3affectedd3cd7c525fd2ecce3a6c963f314969a54783d211 to < c3d4ef1c0ca6917aad6f1093b49f3932944a8c19affectedd3cd7c525fd2ecce3a6c963f314969a54783d211 to < 21d35c5f46e99e9047bb9ded3ecb5ab440dd75b3affectedd3cd7c525fd2ecce3a6c963f314969a54783d211 to < 2c4097e6c4aed276c5e9ec2ab331ab397ea780bfaffected
Linux Linux
Default version status: affected
6.3affected0 to < 6.3unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/803e50af43ab1c3f76cbc744e496532ec151f305 ↗
- https://git.kernel.org/stable/c/2ff7713b7308cd6bea3328f7cd750b5eaab42af3 ↗
- https://git.kernel.org/stable/c/1c35915eaaa81a12340c838c5c2ccb02be2194c3 ↗
- https://git.kernel.org/stable/c/c3d4ef1c0ca6917aad6f1093b49f3932944a8c19 ↗
- https://git.kernel.org/stable/c/21d35c5f46e99e9047bb9ded3ecb5ab440dd75b3 ↗
- https://git.kernel.org/stable/c/2c4097e6c4aed276c5e9ec2ab331ab397ea780bf ↗