CVE-2023-54096

Summary

In the Linux kernel, the following vulnerability has been resolved:

soundwire: fix enumeration completion

The soundwire subsystem uses two completion structures that allow drivers to wait for soundwire device to become enumerated on the bus and initialised by their drivers, respectively.

The code implementing the signalling is currently broken as it does not signal all current and future waiters and also uses the wrong reinitialisation function, which can potentially lead to memory corruption if there are still waiters on the queue.

Not signalling future waiters specifically breaks sound card probe deferrals as codec drivers can not tell that the soundwire device is already attached when being reprobed. Some codec runtime PM implementations suffer from similar problems as waiting for enumeration during resume can also timeout despite the device already having been enumerated.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxfb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 < 48d1d0ce0782f995fda678508fdae35c5e9593f0affected
LinuxLinuxfb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 < a36b522767f3a72688893a472e80c9aa03e67edaaffected
LinuxLinuxfb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 < e1d54962a63b6ec04ed0204a3ecca942fde3a6feaffected
LinuxLinuxfb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 < c5265691cd065464d795de5666dcfb89c26b9bc1affected
LinuxLinuxfb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 < c40d6b3249b11d60e09d81530588f56233d9aa44affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux5.10.190 <= 5.10.*unaffected
LinuxLinux5.15.126 <= 5.15.*unaffected
LinuxLinux6.1.43 <= 6.1.*unaffected
LinuxLinux6.4.8 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References