]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commit
xfs: fuzz every field of every structure
authorDarrick J. Wong <darrick.wong@oracle.com>
Sat, 21 Jan 2017 08:11:21 +0000 (00:11 -0800)
committerEryu Guan <eguan@redhat.com>
Fri, 27 Jan 2017 08:06:12 +0000 (16:06 +0800)
commitf5f0c11a67a8f5d2b77ea8d5a3661c35c757fdea
treef61f121cc7f25123e50d54b0a7cd64940d600c81
parent898e0cf2a46e61a58926c45038cecc3e2d9a6da7
xfs: fuzz every field of every structure

Previously, our XFS fuzzing efforts were limited to using the xfs_db
blocktrash command to scribble garbage all over a block.  This is
pretty easy to discover; it would be far more interesting if we could
fuzz individual fields looking for unhandled corner cases.  Since we
now have an online scrub tool, use it to check for our targeted
corruptions prior to the usual steps of writing to the FS, taking it
offline, repairing, and re-checking.

These tests use the new xfs_db 'fuzz' command to test corner case
handling of every field.  The 'print' command tells us which fields
are available, and the fuzz command can write zeroes or ones to the
field; set the high, middle, or low bit; add or subtract numbers; or
randomize the field.  We loop through all fields and all fuzz verbs to
see if we can trip up the kernel.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
144 files changed:
tests/ext4/023 [new file with mode: 0755]
tests/ext4/023.out [new file with mode: 0644]
tests/ext4/group
tests/xfs/349 [new file with mode: 0755]
tests/xfs/349.out [new file with mode: 0644]
tests/xfs/350 [new file with mode: 0755]
tests/xfs/350.out [new file with mode: 0644]
tests/xfs/351 [new file with mode: 0755]
tests/xfs/351.out [new file with mode: 0644]
tests/xfs/352 [new file with mode: 0755]
tests/xfs/352.out [new file with mode: 0644]
tests/xfs/353 [new file with mode: 0755]
tests/xfs/353.out [new file with mode: 0644]
tests/xfs/354 [new file with mode: 0755]
tests/xfs/354.out [new file with mode: 0644]
tests/xfs/355 [new file with mode: 0755]
tests/xfs/355.out [new file with mode: 0644]
tests/xfs/356 [new file with mode: 0755]
tests/xfs/356.out [new file with mode: 0644]
tests/xfs/357 [new file with mode: 0755]
tests/xfs/357.out [new file with mode: 0644]
tests/xfs/358 [new file with mode: 0755]
tests/xfs/358.out [new file with mode: 0644]
tests/xfs/359 [new file with mode: 0755]
tests/xfs/359.out [new file with mode: 0644]
tests/xfs/360 [new file with mode: 0755]
tests/xfs/360.out [new file with mode: 0644]
tests/xfs/361 [new file with mode: 0755]
tests/xfs/361.out [new file with mode: 0644]
tests/xfs/362 [new file with mode: 0755]
tests/xfs/362.out [new file with mode: 0644]
tests/xfs/363 [new file with mode: 0755]
tests/xfs/363.out [new file with mode: 0644]
tests/xfs/364 [new file with mode: 0755]
tests/xfs/364.out [new file with mode: 0644]
tests/xfs/365 [new file with mode: 0755]
tests/xfs/365.out [new file with mode: 0644]
tests/xfs/366 [new file with mode: 0755]
tests/xfs/366.out [new file with mode: 0644]
tests/xfs/367 [new file with mode: 0755]
tests/xfs/367.out [new file with mode: 0644]
tests/xfs/368 [new file with mode: 0755]
tests/xfs/368.out [new file with mode: 0644]
tests/xfs/369 [new file with mode: 0755]
tests/xfs/369.out [new file with mode: 0644]
tests/xfs/370 [new file with mode: 0755]
tests/xfs/370.out [new file with mode: 0644]
tests/xfs/371 [new file with mode: 0755]
tests/xfs/371.out [new file with mode: 0644]
tests/xfs/372 [new file with mode: 0755]
tests/xfs/372.out [new file with mode: 0644]
tests/xfs/373 [new file with mode: 0755]
tests/xfs/373.out [new file with mode: 0644]
tests/xfs/374 [new file with mode: 0755]
tests/xfs/374.out [new file with mode: 0644]
tests/xfs/375 [new file with mode: 0755]
tests/xfs/375.out [new file with mode: 0644]
tests/xfs/376 [new file with mode: 0755]
tests/xfs/376.out [new file with mode: 0644]
tests/xfs/377 [new file with mode: 0755]
tests/xfs/377.out [new file with mode: 0644]
tests/xfs/378 [new file with mode: 0755]
tests/xfs/378.out [new file with mode: 0644]
tests/xfs/379 [new file with mode: 0755]
tests/xfs/379.out [new file with mode: 0644]
tests/xfs/380 [new file with mode: 0755]
tests/xfs/380.out [new file with mode: 0644]
tests/xfs/381 [new file with mode: 0755]
tests/xfs/381.out [new file with mode: 0644]
tests/xfs/382 [new file with mode: 0755]
tests/xfs/382.out [new file with mode: 0644]
tests/xfs/383 [new file with mode: 0755]
tests/xfs/383.out [new file with mode: 0644]
tests/xfs/384 [new file with mode: 0755]
tests/xfs/384.out [new file with mode: 0644]
tests/xfs/385 [new file with mode: 0755]
tests/xfs/385.out [new file with mode: 0644]
tests/xfs/386 [new file with mode: 0755]
tests/xfs/386.out [new file with mode: 0644]
tests/xfs/387 [new file with mode: 0755]
tests/xfs/387.out [new file with mode: 0644]
tests/xfs/388 [new file with mode: 0755]
tests/xfs/388.out [new file with mode: 0644]
tests/xfs/389 [new file with mode: 0755]
tests/xfs/389.out [new file with mode: 0644]
tests/xfs/390 [new file with mode: 0755]
tests/xfs/390.out [new file with mode: 0644]
tests/xfs/391 [new file with mode: 0755]
tests/xfs/391.out [new file with mode: 0644]
tests/xfs/392 [new file with mode: 0755]
tests/xfs/392.out [new file with mode: 0644]
tests/xfs/393 [new file with mode: 0755]
tests/xfs/393.out [new file with mode: 0644]
tests/xfs/394 [new file with mode: 0755]
tests/xfs/394.out [new file with mode: 0644]
tests/xfs/395 [new file with mode: 0755]
tests/xfs/395.out [new file with mode: 0644]
tests/xfs/396 [new file with mode: 0755]
tests/xfs/396.out [new file with mode: 0644]
tests/xfs/397 [new file with mode: 0755]
tests/xfs/397.out [new file with mode: 0644]
tests/xfs/398 [new file with mode: 0755]
tests/xfs/398.out [new file with mode: 0644]
tests/xfs/399 [new file with mode: 0755]
tests/xfs/399.out [new file with mode: 0644]
tests/xfs/400 [new file with mode: 0755]
tests/xfs/400.out [new file with mode: 0644]
tests/xfs/401 [new file with mode: 0755]
tests/xfs/401.out [new file with mode: 0644]
tests/xfs/402 [new file with mode: 0755]
tests/xfs/402.out [new file with mode: 0644]
tests/xfs/403 [new file with mode: 0755]
tests/xfs/403.out [new file with mode: 0644]
tests/xfs/404 [new file with mode: 0755]
tests/xfs/404.out [new file with mode: 0644]
tests/xfs/405 [new file with mode: 0755]
tests/xfs/405.out [new file with mode: 0644]
tests/xfs/406 [new file with mode: 0755]
tests/xfs/406.out [new file with mode: 0644]
tests/xfs/407 [new file with mode: 0755]
tests/xfs/407.out [new file with mode: 0644]
tests/xfs/408 [new file with mode: 0755]
tests/xfs/408.out [new file with mode: 0644]
tests/xfs/409 [new file with mode: 0755]
tests/xfs/409.out [new file with mode: 0644]
tests/xfs/410 [new file with mode: 0755]
tests/xfs/410.out [new file with mode: 0644]
tests/xfs/411 [new file with mode: 0755]
tests/xfs/411.out [new file with mode: 0644]
tests/xfs/412 [new file with mode: 0755]
tests/xfs/412.out [new file with mode: 0644]
tests/xfs/413 [new file with mode: 0755]
tests/xfs/413.out [new file with mode: 0644]
tests/xfs/414 [new file with mode: 0755]
tests/xfs/414.out [new file with mode: 0644]
tests/xfs/415 [new file with mode: 0755]
tests/xfs/415.out [new file with mode: 0644]
tests/xfs/416 [new file with mode: 0755]
tests/xfs/416.out [new file with mode: 0644]
tests/xfs/417 [new file with mode: 0755]
tests/xfs/417.out [new file with mode: 0644]
tests/xfs/418 [new file with mode: 0755]
tests/xfs/418.out [new file with mode: 0644]
tests/xfs/group