Files
apfstests/tests/xfs/489
T
Darrick J. Wong 0804dc1736 xfs: fuzz every field of every structure and test kernel crashes
Fuzz every field of every structure and then try to write the
filesystem, to see how many of these writes can crash the kernel.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2018-07-08 21:16:35 +08:00

50 lines
1.0 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2018 Oracle, Inc. All rights reserved.
#
# FS QA Test No. 489
#
# Populate a XFS filesystem and fuzz every project dquot field.
# Do not fix the filesystem, to test metadata verifiers.
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 7 15
_cleanup()
{
cd /
rm -rf $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/populate
. ./common/fuzzy
. ./common/quota
# real QA test starts here
_supported_os Linux
_supported_fs xfs
_require_scratch_xfs_fuzz_fields
_disable_dmesg_check
_require_quota
echo "Format and populate"
_scratch_populate_cached nofill > $seqres.full 2>&1
echo "${MOUNT_OPTIONS}" | grep -q 'prjquota' || _notrun "project quota disabled"
echo "Fuzz project 0 dquot"
_scratch_xfs_fuzz_metadata '' 'none' "dquot -p 0" >> $seqres.full
echo "Done fuzzing dquot"
# success, all done
status=0
exit