qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

block: qemu-iotests - add check for multiplication overflow in vpc

This checks that VPC is able to successfully fail (without segfault)
on an image file with a max_table_entries that exceeds 0x40000000.

This table entry is within the valid range for VPC (although too large
for this sample image).

Cc: qemu-stable@nongnu.org
Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

authored by

Jeff Cody and committed by
Kevin Wolf
77c102c2 b15deac7

+60
+54
tests/qemu-iotests/135
··· 1 + #!/bin/bash 2 + # 3 + # Test VPC open of image with large Max Table Entries value. 4 + # 5 + # Copyright (C) 2015 Red Hat, Inc. 6 + # 7 + # This program is free software; you can redistribute it and/or modify 8 + # it under the terms of the GNU General Public License as published by 9 + # the Free Software Foundation; either version 2 of the License, or 10 + # (at your option) any later version. 11 + # 12 + # This program is distributed in the hope that it will be useful, 13 + # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 + # GNU General Public License for more details. 16 + # 17 + # You should have received a copy of the GNU General Public License 18 + # along with this program. If not, see <http://www.gnu.org/licenses/>. 19 + # 20 + 21 + # creator 22 + owner=jcody@redhat.com 23 + 24 + seq=`basename $0` 25 + echo "QA output created by $seq" 26 + 27 + here=`pwd` 28 + tmp=/tmp/$$ 29 + status=1 # failure is the default! 30 + 31 + _cleanup() 32 + { 33 + _cleanup_test_img 34 + } 35 + trap "_cleanup; exit \$status" 0 1 2 3 15 36 + 37 + # get standard environment, filters and checks 38 + . ./common.rc 39 + . ./common.filter 40 + 41 + _supported_fmt vpc 42 + _supported_proto generic 43 + _supported_os Linux 44 + 45 + _use_sample_img afl5.img.bz2 46 + 47 + echo 48 + echo "=== Verify image open and failure ====" 49 + $QEMU_IMG info "$TEST_IMG" 2>&1| _filter_testdir 50 + 51 + # success, all done 52 + echo "*** done" 53 + rm -f $seq.full 54 + status=0
+5
tests/qemu-iotests/135.out
··· 1 + QA output created by 135 2 + 3 + === Verify image open and failure ==== 4 + qemu-img: Could not open 'TEST_DIR/afl5.img': Max Table Entries too large (1073741825) 5 + *** done
+1
tests/qemu-iotests/group
··· 133 133 131 rw auto quick 134 134 132 rw auto quick 135 135 134 rw auto quick 136 + 135 rw auto
tests/qemu-iotests/sample_images/afl5.img.bz2

This is a binary file and will not be displayed.