Description
In the Linux kernel, the following vulnerability has been resolved: s390/dasd: protect device queue against concurrent access In dasd_profile_start() the amount of requests on the device queue are counted. The access to the device queue is unprotected against concurrent access. With a lot of parallel I/O, especially with alias devices enabled, the device queue can change while dasd_profile_start() is accessing the queue. In the worst case this leads to a kernel panic due to incorrect pointer accesses. Fix this by taking the device lock before accessing the queue and counting the requests. Additionally the check for a valid profile data pointer can be done earlier to avoid unnecessary locking in a hot path.
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
4fa52aa7a82f9226b3874a69816bda3af821f002 to < ebdc569a07a3e8dbe66b4184922ad6f88ac0b96faffected4fa52aa7a82f9226b3874a69816bda3af821f002 to < f75617cc8df4155374132f0b500b0b3ebb967458affected4fa52aa7a82f9226b3874a69816bda3af821f002 to < f1ac7789406e2ca9ac51c41ad2daa597f47bdd4daffected4fa52aa7a82f9226b3874a69816bda3af821f002 to < c841de6247e94e07566d57163d3c0d8b29278f7aaffected4fa52aa7a82f9226b3874a69816bda3af821f002 to < 6062c527d0403cef27c54b91ac8390c3a497b250affected4fa52aa7a82f9226b3874a69816bda3af821f002 to < dc96fde8fcb2b896fd6c64802a7f4ece2e69b0beaffected4fa52aa7a82f9226b3874a69816bda3af821f002 to < 9372aab5d0ff621ea203c8c603e7e5f75e888240affected4fa52aa7a82f9226b3874a69816bda3af821f002 to < db46cd1e0426f52999d50fa72cfa97fa39952885affected
Linux Linux
Default version status: affected
3.1affected0 to < 3.1unaffected4.14.332 to ≤ 4.14.*unaffected4.19.301 to ≤ 4.19.*unaffected5.4.263 to ≤ 5.4.*unaffected5.10.203 to ≤ 5.10.*unaffected5.15.141 to ≤ 5.15.*unaffected6.1.65 to ≤ 6.1.*unaffected6.6.4 to ≤ 6.6.*unaffected6.7 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ebdc569a07a3e8dbe66b4184922ad6f88ac0b96f ↗
- https://git.kernel.org/stable/c/f75617cc8df4155374132f0b500b0b3ebb967458 ↗
- https://git.kernel.org/stable/c/f1ac7789406e2ca9ac51c41ad2daa597f47bdd4d ↗
- https://git.kernel.org/stable/c/c841de6247e94e07566d57163d3c0d8b29278f7a ↗
- https://git.kernel.org/stable/c/6062c527d0403cef27c54b91ac8390c3a497b250 ↗
- https://git.kernel.org/stable/c/dc96fde8fcb2b896fd6c64802a7f4ece2e69b0be ↗
- https://git.kernel.org/stable/c/9372aab5d0ff621ea203c8c603e7e5f75e888240 ↗
- https://git.kernel.org/stable/c/db46cd1e0426f52999d50fa72cfa97fa39952885 ↗