Description
In the Linux kernel, the following vulnerability has been resolved: s390/dasd: Propagate partial completion length across ERP recovery dasd_default_erp_postaction() copies the timing and device state from the finished ERP request back to the original request but drops proc_bytes. A request that was partially completed, an ESE read of a not-yet-allocated track returns fewer bytes than requested, and then recovered through the ERP chain loses its partial-completion length. __dasd_cleanup_cqr() then sees proc_bytes == 0 and completes the whole request instead of requeueing the remainder, silently returning zeroed data for the part that was never read. Carry proc_bytes over to the original request like the other per-request state.
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
5e6bdd37c5526ef01326df5dabb93011ee89237e to < 9e063165d3fe58db2a517717b830f17e82d03467affected5e6bdd37c5526ef01326df5dabb93011ee89237e to < 6b0954c8a259da1e4aa745989f82723947acfb46affected5e6bdd37c5526ef01326df5dabb93011ee89237e to < d0a2f97d8c97134aa7f6a191940b7bab4bb42f5faffected5e6bdd37c5526ef01326df5dabb93011ee89237e to < f735b9710f0c8fe72c1060103e865f4ae678190baffected5e6bdd37c5526ef01326df5dabb93011ee89237e to < d6b8778b1b82aa3a8dbf8612080f635b834bd16baffected5e6bdd37c5526ef01326df5dabb93011ee89237e to < ceafb262475ac6cb3a7d07b1102608be2b216b99affected5e6bdd37c5526ef01326df5dabb93011ee89237e to < 15ec03452c18e8d288e519837d21b308300d74b2affected5e6bdd37c5526ef01326df5dabb93011ee89237e to < 6fb5ba2e7e43173a3761e46f091070a8185efa14affectedfbbacd0dcbc3ae9398c569dbea96ae4b5ad97e04affected5f7c9989f11305aaa43e0f4378f4f070022a9f2baffected5.4.26 to < 5.5affected5.5.10 to < 5.6affected
Linux Linux
Default version status: affected
5.6affected0 to < 5.6unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9e063165d3fe58db2a517717b830f17e82d03467 ↗
- https://git.kernel.org/stable/c/6b0954c8a259da1e4aa745989f82723947acfb46 ↗
- https://git.kernel.org/stable/c/d0a2f97d8c97134aa7f6a191940b7bab4bb42f5f ↗
- https://git.kernel.org/stable/c/f735b9710f0c8fe72c1060103e865f4ae678190b ↗
- https://git.kernel.org/stable/c/d6b8778b1b82aa3a8dbf8612080f635b834bd16b ↗
- https://git.kernel.org/stable/c/ceafb262475ac6cb3a7d07b1102608be2b216b99 ↗
- https://git.kernel.org/stable/c/15ec03452c18e8d288e519837d21b308300d74b2 ↗
- https://git.kernel.org/stable/c/6fb5ba2e7e43173a3761e46f091070a8185efa14 ↗