|
|
Log in / Subscribe / Register

On-disk format robustness requirements for new filesystems

On-disk format robustness requirements for new filesystems

Posted Aug 20, 2019 11:06 UTC (Tue) by Freeaqingme (guest, #103259)
Parent article: On-disk format robustness requirements for new filesystems

Are there any fuzzing projects specifically for file systems? This seems like a perfect candidate for fuzzing(?).


to post comments

AFL for filesystems, fsfuzzer

Posted Aug 20, 2019 21:17 UTC (Tue) by sitsofe (guest, #104576) [Link]

Yes, people have built fuzzers for filesystem images (there are even more if you mean things like syscalls - see fsx, trinity, syzkaller etc). Several years ago an Oracle developer applied afl to a number of different filesystem images and found bugs could be triggered within a few minutes of fuzing (but I don't know if the code for this was ever released). Going back further, the month of kernel bugs introduced the fsfuzzer back in 2006.

On-disk format robustness requirements for new filesystems

Posted Aug 21, 2019 8:18 UTC (Wed) by dgc (subscriber, #6611) [Link]

There are a *lot* of fuzzing tests for XFS in xfstests:

$ git grep fuzz tests/xfs/group |wc -l
156
$

156 separate on-disk format fuzzing tests, quite a few (~40) of which also test the ability of the under-development online repair code to fix the fuzzing damage automatically. These fuzzers know the on-disk format, so they defeat all the CRC checking by recalculating the CRC after the structures have been corrupted. That's why we have our own fuzzers - at the time nobody had a fuzzer capable of defeating CRCs, so we extended our own tools to do it....

So the truth is that XFS developers have a very high standard for on-disk format robustness and we have both the toolchain and runtime verification in place to find and fix bugs and areas we don't validate as well as we should. It's an ongoing process of improvement....

-Dave.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds