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.
https://git.kernel.org/stable/c/f735b9710f0c8fe72c1060103e865f4ae678190b
https://git.kernel.org/stable/c/d6b8778b1b82aa3a8dbf8612080f635b834bd16b
https://git.kernel.org/stable/c/d0a2f97d8c97134aa7f6a191940b7bab4bb42f5f
https://git.kernel.org/stable/c/ceafb262475ac6cb3a7d07b1102608be2b216b99
https://git.kernel.org/stable/c/9e063165d3fe58db2a517717b830f17e82d03467
https://git.kernel.org/stable/c/6fb5ba2e7e43173a3761e46f091070a8185efa14
https://git.kernel.org/stable/c/6b0954c8a259da1e4aa745989f82723947acfb46
https://git.kernel.org/stable/c/15ec03452c18e8d288e519837d21b308300d74b2