Description
In the Linux kernel, the following vulnerability has been resolved: iio: buffer: serialize buffer teardown with mode claims Buffer-mode claims hold mlock to guarantee that the device remains in buffer mode until the claim is released. Normal buffer updates take info_exist_lock followed by mlock in iio_update_buffers(). However, iio_device_unregister() disables and deactivates all buffers without taking mlock. This can invalidate buffer state, including active_scan_mask, while a buffer-mode claim is held. Take mlock in iio_disable_all_buffers() so that unregister honors the mode-claim lifetime guarantee. The info_exist_lock -> mlock ordering matches iio_update_buffers().
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
a9c471892d75847671a246619c2148578f22bbc6 to < 261f54966ebf45ced5fe5e1fe5119c6c44e140abaffected7bca0af538a49dacb1470f233be0676bdc09605b to < cebbecb26d22368440c4779f8275d790cf347177affected0a8565425afd8ba0e1a0ea73e21da119ee6dacea to < 6a728408ff522b749c2a3c7e68f44e861fa0dbfbaffected0a8565425afd8ba0e1a0ea73e21da119ee6dacea to < 89f3852a28fcf7bab599280cb082baa0675536dbaffected0a8565425afd8ba0e1a0ea73e21da119ee6dacea to < b466db9e68b4741af85f6c017e2bb0a2f025053faffected0a8565425afd8ba0e1a0ea73e21da119ee6dacea to < e63188d77e10c0951bf67da6c295f768fd1abf4baffected0a8565425afd8ba0e1a0ea73e21da119ee6dacea to < 84bb0fc46ccf6a545b8fdf57cda83770186ed8ddaffected5.15.137 to < 5.15.224affected6.1.60 to < 6.1.191affected
Linux Linux
Default version status: affected
6.2affected0 to < 6.2unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/261f54966ebf45ced5fe5e1fe5119c6c44e140ab ↗
- https://git.kernel.org/stable/c/cebbecb26d22368440c4779f8275d790cf347177 ↗
- https://git.kernel.org/stable/c/6a728408ff522b749c2a3c7e68f44e861fa0dbfb ↗
- https://git.kernel.org/stable/c/89f3852a28fcf7bab599280cb082baa0675536db ↗
- https://git.kernel.org/stable/c/b466db9e68b4741af85f6c017e2bb0a2f025053f ↗
- https://git.kernel.org/stable/c/e63188d77e10c0951bf67da6c295f768fd1abf4b ↗
- https://git.kernel.org/stable/c/84bb0fc46ccf6a545b8fdf57cda83770186ed8dd ↗