[bug report] erofs-utils: Compression with -Eall-fragments segfaults on 1.8.2
Gao Xiang
hsiangkao at linux.alibaba.com
Sat Oct 12 15:34:56 AEDT 2024
On 2024/10/12 10:05, Gao Xiang wrote:
> Hi David,
>
> On 2024/10/12 04:22, David Michael wrote:
>> Hi,
>>
>> Version 1.8.2 has a reproducible segfault with "-E all-fragments"
>> (testing on Fedora 40). When compressing the install image, it
>> consistently hangs on a firmware file:
>>
>>> sudo dnf -y install erofs-utils
>>> wget https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/x86_64/os/images/install.img
>>> sudo mount install.img /mnt
>>> sudo mkfs.erofs -z zstd -E all-fragments erofs.img /mnt
>>
>> If you isolate just that firmware directory instead of the whole
>> image, it will segfault:
>>
>>> mkfs.erofs -z zstd -E all-fragments erofs.img /mnt/usr/lib/firmware/nvidia/ga102/gsp
>>
>> It happens with all compressors I've tried, but adding "dedupe" works
>> around it. Is there any change I should test? Let me know if you
>> need additional information.
>
> Thanks for the report, I will look into that.
I've submited a fix for this,
https://lore.kernel.org/r/20241012035213.3729725-1-hsiangkao@linux.alibaba.com
The original one is a SquashFS xz image:
Compression xz
Dictionary size 131072
Filters selected: x86
Block size 131072
Inodes are compressed
Data is compressed
Fragments are compressed
..
so the results are:
618008576 install.img
621953024 install.erofs (mkfs.erofs -zlzma -C131072 -Eall-fragments,ztailpacking -T0)
Since EROFS doesn't support metadata compression for now,
the difference is just out of compressed metadata.
Thanks,
Gao Xiang
>
> Thanks,
> Gao Xiang
>
>>
>> Thanks.
>>
>> David
>>
>> Originally reported in: https://bugzilla.redhat.com/2318138
>
More information about the Linux-erofs
mailing list