News › linux
By Zayden R., September 13, 2026
The EROFS file-system has disabled LZ4 rolling decompression due to potential data corruption, impacting systems using this feature. Engineers should evaluate the implications for their deployments before the Linux 7.3-rc3 kernel release.
The EROFS read-only file-system, frequently utilized in embedded systems and containers, has made the decision to temporarily disable its LZ4 rolling decompression capability. This move comes amidst concerns over potential data corruption issues, as identified by AWS engineers. Ahead of the anticipated Linux 7.3-rc3 kernel release, EROFS developers have acted swiftly to ensure data integrity.
LZ4 rolling decompression was initially introduced to reduce the memory footprint associated with temporary pages, a crucial feature for efficiently reading small data segments within a compressed extent. The method exploits the LZ77-based nature of LZ4, which typically requires only the most recent 64 KiB of decompressed data. This can lead to significant memory savings, as demonstrated by the compression of 601,960 bytes of data into a 256k LZ4 compressed extent.
However, the upstream LZ4 implementation, which EROFS does not control, has shown potential pitfalls. An analysis revealed that uncontrolled backward memory copies could occur, breaking the assumptions underpinning the rolling decompression optimization. Specifically, the literal copy memmove() function might still perform backward copies of long literals on x86 systems, leading to unexpected data states.
This decision to disable the feature is a precautionary measure, prioritizing data correctness in production environments. Engineers managing systems that rely on EROFS with LZ4 rolling decompression should assess their current configurations and be prepared for increased memory usage, as the rolling window optimization is now off the table until a more robust solution is devised.
As the Linux community awaits further updates, the focus remains on ensuring that data integrity is not compromised, even if it means temporarily sacrificing some performance optimizations.