On 09/12/16 15:45, Jaime Gaspar wrote:
> --- Bug ---
> In a FAT32 file system, if one runs md5sum on a 4,294,967,294-byte file (one 
> byte less than the maximum file size) it succeeds, but if one runs md5sum on 
> a 4,294,967,295-byte file (the maximum file size) it fails with error message 
> "Invalid argument".
> 
> --- How to reproduce the bug ---
> Create a FAT32 file system in a file "tmp.fs":
>    truncate -s 9G tmp.fs
>    mkfs.vfat -F 32 tmp.fs
> Mount at "/tmp/mounted_tmp/" the file system in file "tmp.fs":
>    sudo mkdir /tmp/mounted_tmp/
>    sudo mount -o loop,rw,uid=1000,gid=1000 tmp.fs /tmp/mounted_tmp/
> Create two files in "/tmp/mounted_tmp/", file "file_1" with 4,294,967,294 
> bytes and file "file_2" with 4,294,967,295 bytes:
>    cd /tmp/mounted_tmp/
>    truncate -s 4294967294 file_1
>    truncate -s 4294967295 file_2
> Run md5sum on the two files "file_1" and "file_2":
>    md5sum file_1
>    md5sum file_2
> The outputs should be respectively (notice that the second output is an error 
> message):
>    541249e3205af07b4a03f891185f64a0  file_1
>    md5sum: file_2: Invalid argument
> Unmount the file system at "/tmp/mounted_tmp/":
>    cd ..
>    sudo umount /tmp/mounted_tmp/
>    sudo rmdir /tmp/mounted_tmp/
> Remove the file "tmp.fs".
> 
> --- Notes ---
> Tested with md5sum 8.25 running on an updated Ubuntu 16.10 with kernel 
> 4.8.0-30-generic.
> The same bug affects sha1sum, sha224sum, sha256sum, sha384sum, and sha512sum, 
> but not crc32.

I can't repro this with any md5sum version on 4.2.5-300.fc23.x86_64
So I'm guessing a kernel regression.
Can you strace -o /tmp/md5sum.strace md5sum file_2,
and look towards the end of the strace file to identify the syscall returning 
EINVAL?
In any case I'd direct the issue towards the kernel folks.

thanks,
Pádraig



Reply via email to