forked from zlib-ng/zlib-ng
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
IBM Z DFLTCC: Buffer deflate() input data
When testing QEMU live migration on an IBM z15 machine, a problem with DFLTCC was discovered: modifying dfltcc_cmpr() input data concurrently with dfltcc_cmpr() leads to data corruption [1] [2]. Based on zlib manual, one might argue both ways whether it is safe to perform such concurrent modifications. At the end of the day, it's simply undefined, and now we know that there are applications out there that rely on this being allowed. So tolerate this in the DFLTCC implementation by introducing a buffering layer. [1] https://lists.gnu.org/archive/html/qemu-devel/2022-03/msg06841.html [2] https://lists.gnu.org/archive/html/qemu-devel/2022-04/msg00329.html
- Loading branch information
Showing
3 changed files
with
109 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters