linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] xfstests: fuzz ext4 and xfs
@ 2015-08-15  1:52 Darrick J. Wong
  2015-08-15  1:52 ` [PATCH 1/7] common: add routines to fuzz filesystems Darrick J. Wong
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Darrick J. Wong @ 2015-08-15  1:52 UTC (permalink / raw)
  To: david, darrick.wong; +Cc: linux-ext4, fstests, xfs

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

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-08-15  1:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-15  1:52 [PATCH 0/7] xfstests: fuzz ext4 and xfs Darrick J. Wong
2015-08-15  1:52 ` [PATCH 1/7] common: add routines to fuzz filesystems Darrick J. Wong
2015-08-15  1:52 ` [PATCH 2/7] randomly fuzz XFS and ext4 filesystems Darrick J. Wong
2015-08-15  1:52 ` [PATCH 3/7] ext4: test block group metadata corruption checking and repair Darrick J. Wong
2015-08-15  1:52 ` [PATCH 4/7] ext4: test file/dir/symlink " Darrick J. Wong
2015-08-15  1:52 ` [PATCH 5/7] xfs: test allocation group " Darrick J. Wong
2015-08-15  1:52 ` [PATCH 6/7] xfs: test directory " Darrick J. Wong
2015-08-15  1:52 ` [PATCH 7/7] xfs: test file/symlink " Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).