e8c212d682
Blue Swirl notices that we were using the old FSF post address in the license boilerplates. Replace both the old and new address with links to the gnu.org licenses homepage as suggested by Ben Pfaff. Signed-off-by: Christoph Hellwig <hch@lst.de>
104 lines
2.2 KiB
Bash
Executable File
104 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Make sure we can't read and write outside of the image size.
|
|
#
|
|
# Copyright (C) 2009 Red Hat, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
# creator
|
|
owner=hch@lst.de
|
|
|
|
seq=`basename $0`
|
|
echo "QA output created by $seq"
|
|
|
|
here=`pwd`
|
|
tmp=/tmp/$$
|
|
status=1 # failure is the default!
|
|
|
|
_cleanup()
|
|
{
|
|
_cleanup_test_img
|
|
}
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common.rc
|
|
. ./common.filter
|
|
|
|
_supported_fmt generic
|
|
_supported_os Linux
|
|
|
|
|
|
size=128M
|
|
pre_offset=127M
|
|
past_offset=140M
|
|
|
|
_make_test_img $size
|
|
|
|
echo
|
|
echo "write before image boundary"
|
|
$QEMU_IO -c "write $pre_offset 1M" $TEST_IMG | _filter_qemu_io
|
|
|
|
echo
|
|
echo "write into image boundary"
|
|
$QEMU_IO -c "write $pre_offset 4M" $TEST_IMG
|
|
|
|
echo
|
|
echo "write at image boundary"
|
|
$QEMU_IO -c "write $size 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "write past image boundary"
|
|
$QEMU_IO -c "write $past_offset 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "pwrite past image boundary"
|
|
$QEMU_IO -c "write -p $past_offset 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "writev past image boundary"
|
|
$QEMU_IO -c "writev $past_offset 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "read before image boundary"
|
|
$QEMU_IO -c "read $pre_offset 1M" $TEST_IMG | _filter_qemu_io
|
|
|
|
echo
|
|
echo "read into image boundary"
|
|
$QEMU_IO -c "read $pre_offset 4M" $TEST_IMG
|
|
|
|
echo
|
|
echo "read at image boundary"
|
|
$QEMU_IO -c "read $size 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "read past image boundary"
|
|
$QEMU_IO -c "read $past_offset 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "pread past image boundary"
|
|
$QEMU_IO -c "read -p $past_offset 4096" $TEST_IMG
|
|
|
|
echo
|
|
echo "readv past image boundary"
|
|
$QEMU_IO -c "readv $past_offset 4096" $TEST_IMG
|
|
|
|
|
|
# success, all done
|
|
echo "*** done"
|
|
rm -f $seq.full
|
|
status=0
|