
Hello,
Em qui., 20 de mai. de 2021 às 06:54, Richard Genoud < richard.genoud@posteo.net> escreveu:
Le 17/05/2021 à 23:20, Joao Marcos Costa a écrit :
The fragmented files were not correctly read because of two issues:
- The squashfs_file_info struct has a field named 'comp', which tells if
the file's fragment is compressed or not. This field was always set to 'true' in sqfs_get_regfile_info and sqfs_get_lregfile_info. It should actually take sqfs_frag_lookup's return value. This patch addresses these two assignments.
- In sqfs_read, the fragments (compressed or not) were copied to the
output buffer through a for loop which was reading data at the wrong offset. Replace these loops by equivalent calls to memcpy, with the right parameters.
I tested this patch by comparing the MD5 checksum of a few fragmented files with the respective md5sum output in sandbox, considering both compressed and uncompressed fragments.
Signed-off-by: Joao Marcos Costa jmcosta944@gmail.com
Tested-by: Richard Genoud richard.genoud@posteo.net
Tested it on real hardware, with mksquashfs -always-use-fragments, loading a kernel (fit) from squashfs. It wasn't working before the patch, and works after.
Thanks !
Great! Thanks for testing!