Saya sudah mencoba menambal 4.12.5 dan 4.13-rc4. Tambalan berlaku dengan bersih dan saya telah mengatur CONFIG_SQUASHFS_ZSTD=y, CONFIG_XXHASH=y dan CONFIG_ZSTD_DECOMPRESS=y.
Saya telah menggunakan alat squashfs dari sini , ini dapat dikompilasi dengan baik dan saya telah berhasil membuat squashfs.
Ketika saya memasang saya baru saja mendapatkan kesalahan input/output yang gagal. Di dmesg saya melihat ini:
[ 4377.243871] SQUASHFS error: Failed to initialize zstd decompressor
[ 4377.243872] SQUASHFS error: zstd decompression failed, data probably corrupt
[ 4377.243873] SQUASHFS error: squashfs_read_data failed to read block 0x28b3d
[ 4377.243874] SQUASHFS error: Unable to read metadata cache entry [28b3d]
[ 4377.243875] SQUASHFS error: Unable to read inode 0x106709e0
Saya memang membaca bahwa tambalan kernel dimaksudkan untuk 4.10, apakah saya salah mengharapkannya untuk bekerja pada 4.12+ atau mungkin alat squashfs yang membuat sistem file yang rusak?
Setiap komentar dihargai, dan beri tahu saya jika ada info lebih lanjut yang diperlukan.
Terima kasih atas laporannya @escalade. Saya pikir saya telah melihat bug, zstd_wrapper.c:83
seharusnya
stream = ZSTD_initDStream(max_t(size_t, msblk->block_size, SQUASHFS_METADATA_SIZE), wksp->mem, wksp->mem_size);
Itu pasti terekspos ketika saya menambahkan beberapa tabel tambahan ke ZSTD_DCtx
, yang menabrak ukuran jendela di atas batas kekuatan 2. Saya akan memperbarui Anda ketika saya sudah mengkonfirmasinya.
Itu cepat :)
Saya telah mengkonfirmasi perbaikannya, sekali lagi terima kasih atas laporannya. Saya akan memperbarui tambalan di sini dan di milis. Saya juga akan menambahkan patch squashfs-tools ke repo zstd. Tambalan sekarang diuji di cabang master, saya akan menghapus komentar usang tentang 4.10.
Komentar yang paling membantu
Terima kasih atas laporannya @escalade. Saya pikir saya telah melihat bug,
zstd_wrapper.c:83
seharusnyaItu pasti terekspos ketika saya menambahkan beberapa tabel tambahan ke
ZSTD_DCtx
, yang menabrak ukuran jendela di atas batas kekuatan 2. Saya akan memperbarui Anda ketika saya sudah mengkonfirmasinya.