# repo22 non-LZ4 leading-zero verification - Date: 2026-08-08 UTC - Source baseline: `7cba92c0ec434b96180200b09e5dddfa213e67f5` - FreeBSD guest: 15.0-RELEASE-p8 amd64, QEMU TCG - Image tool: erofs-utils 1.8.6 - Scope: MicroLZMA, DEFLATE, and ZSTD leading-zero handling only ## Code change Linux 7.1-rc1 calls `z_erofs_fixup_insize()` for every MicroLZMA, DEFLATE, and ZSTD stream, while LZ4 only requires it when the `LZ4_0PADDING` feature is enabled. The FreeBSD dispatcher now applies the same predicate. Existing first-block limits, empty-input rejection, and input-length subtraction remain unchanged. ## Build and module lifecycle `./build.sh` completed successfully and produced `build/erofs.ko` with SHA256: ```text 4b3459a02da29642cb8e61f58e34ff5266e668e86256937c91b8af7e0e31fdcb ``` FreeBSD 15 results: ```text lifecycle_kldload_rc=0 lifecycle_kldunload_rc=0 dmesg_delta_lines=0 dmesg_error_grep_rc=1 ``` The last two lines mean the isolated lifecycle and read pass added no kernel messages, so no decompression, linker, panic, or integrity error was present. ## Deterministic images The source file was 1 MiB and had SHA256: ```text 370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52 ``` The images were regenerated with erofs-utils 1.8.6: ```sh mkfs.erofs -T0 --all-root --ignore-mtime -x-1 -Uclear \ -zlzma,level=6 -C4096 lzma-root.erofs src-root mkfs.erofs -T0 --all-root --ignore-mtime -x-1 -Uclear \ -zdeflate,level=6 -C4096 deflate-root.erofs src-root mkfs.erofs -T0 --all-root --ignore-mtime -x-1 -Uclear \ -zzstd,level=3 -C4096 zstd-root.erofs src-root ``` `dump.erofs` reported layout 3 for `/test-lz4.txt` in all images. MicroLZMA and ZSTD used one 4096-byte physical extent; DEFLATE used two 4096-byte physical extents. ## FreeBSD read results Each image was attached with `mdconfig`, mounted read-only, read completely by `sha256`, unmounted, and detached before testing the next image. ```text lzma mount_rc=0 read_rc=0 sha256=370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52 lzma umount_rc=0 detach_rc=0 deflate mount_rc=0 read_rc=0 sha256=370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52 deflate umount_rc=0 detach_rc=0 zstd mount_rc=0 read_rc=0 sha256=370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52 zstd umount_rc=0 detach_rc=0 ``` Result: MicroLZMA, DEFLATE, and ZSTD all pass real-image full-file integrity verification on this FreeBSD 15 kernel configuration. ## Notes and limits An exploratory image with the file below a `/files` directory mounted, but the target lookup failed. Root-level fixtures were used to isolate decompression from the separately tracked directory lookup work. This does not change the three successful compressed read results above. This batch does not claim coverage for other compression levels, large files, random access, corrupt streams, alternative FreeBSD kernel configurations, or other compression mapping features. DEFLATE and ZSTD kernel symbols were available on the tested FreeBSD 15 GENERIC kernel; no unsupported algorithm or kernel-symbol limitation was encountered.