[PATCH 0/7] xfstests: fuzz ext4 and xfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

This is a pile of fuzzing tests for ext4 and XFS filesystems.
Included are general fuzzers that create, populate, and fuzz a scratch
filesystem; and targeted fuzzers that create specific types of
metadata blocks and test the filesystem's reaction to the corruption.

Each fuzzing test has roughly the same structure: First, the scratch
device is formatted and populated with enough files and directories so
that the targeted metadata is created.  Next, the metadata block is
randomly mutated to some arbitrary degree.  Then, the filesystem is
mounted and exercised to see if the kernel will fling error codes back
to userspace without crashing.  After that, the repair tool is invoked
to fix all the damage.  Finally, the filesystem is remounted and
exercised again to ensure that the errors have gone away.

The first patch provides common code that can populate ext4 and XFS
filesystems containing (hopefully) every possible type of metadata
block, and a few other common code bits.

The second patch implements general fuzzers for ext4 and XFS.  A
scratch FS is created and populated with all types of metadata before
fuzzing begins.

The third and fourth patches implement targeted fuzzing for block
group, bitmap, file, extent, and directory metadata in ext4.

Patches 5-7 implement targeted fuzzing for AGs, btrees, file, extent,
and directory metadata in XFS.

I've tested these xfstests changes against the master branch as of
8/03.  The reflink tests will be dealt with separately.

The xfs fuzzers require xfsprogs with the August 2015 xfsprogs
patchbomb applied.  The ext4 fuzzers do not require patches if your
e2fsprogs are current.

Scary rewound github repo with everything attached:
https://github.com/djwong/xfstests

and for the xfsprogs patches:
https://github.com/djwong/xfsprogs

Comments and questions are, as always, welcome.

--D
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux