Message ID | 20200819061110.1320568-13-alxndr@bu.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add a General Virtual Device Fuzzer | expand |
On Wednesday, 2020-08-19 at 02:11:07 -04, Alexander Bulekov wrote: > Each of these entries is built into a wrapper binary that sets the > needed environment variables and executes the general virtual-device > fuzzer. In the future, we will need additional fields, such as arch=arm, > timeout_per_testcase=0, reset=reboot, etc... > > Signed-off-by: Alexander Bulekov <alxndr@bu.edu> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> > --- > scripts/oss-fuzz/general_fuzzer_configs.yml | 103 ++++++++++++++++++++ > 1 file changed, 103 insertions(+) > create mode 100644 scripts/oss-fuzz/general_fuzzer_configs.yml > > diff --git a/scripts/oss-fuzz/general_fuzzer_configs.yml b/scripts/oss-fuzz/general_fuzzer_configs.yml > new file mode 100644 > index 0000000000..010e92a2a5 > --- /dev/null > +++ b/scripts/oss-fuzz/general_fuzzer_configs.yml > @@ -0,0 +1,103 @@ > +configs: > + - name: virtio-net-pci-slirp > + args: > > + -M q35 -nodefaults > + -device virtio-net,netdev=net0 -netdev user,id=net0 > + objects: virtio* > + > + - name: virtio-blk > + args: > > + -machine q35 -device virtio-blk,drive=disk0 > + -drive file=null-co://,id=disk0,if=none,format=raw > + objects: virtio* > + > + - name: virtio-scsi > + args: > > + -machine q35 -device virtio-scsi,num_queues=8 > + -device scsi-hd,drive=disk0 > + -drive file=null-co://,id=disk0,if=none,format=raw > + objects: scsi* virtio* > + > + - name: virtio-gpu > + args: -machine q35 -nodefaults -device virtio-gpu > + objects: virtio* > + > + - name: virtio-vga > + args: -machine q35 -nodefaults -device virtio-vga > + objects: virtio* > + > + - name: virtio-rng > + args: -machine q35 -nodefaults -device virtio-rng > + objects: virtio* > + > + - name: virtio-balloon > + args: -machine q35 -nodefaults -device virtio-balloon > + objects: virtio* > + > + - name: virtio-serial > + args: -machine q35 -nodefaults -device virtio-serial > + objects: virtio* > + > + - name: virtio-mouse > + args: -machine q35 -nodefaults -device virtio-mouse > + objects: virtio* > + > + - name: e1000 > + args: > > + -M q35 -nodefaults > + -device e1000,netdev=net0 -netdev user,id=net0 > + objects: e1000 > + > + - name: e1000e > + args: > > + -M q35 -nodefaults > + -device e1000e,netdev=net0 -netdev user,id=net0 > + objects: e1000e > + > + - name: cirrus-vga > + args: -machine q35 -nodefaults -device cirrus-vga > + objects: cirrus* > + > + - name: bochs-display > + args: -machine q35 -nodefaults -device bochs-display > + objects: bochs* > + > + - name: intel-hda > + args: > > + -machine q35 -nodefaults -device intel-hda,id=hda0 > + -device hda-output,bus=hda0.0 -device hda-micro,bus=hda0.0 > + -device hda-duplex,bus=hda0.0 > + objects: intel-hda > + > + - name: ide-hd > + args: > > + -machine q35 -nodefaults > + -drive file=null-co://,if=none,format=raw,id=disk0 > + -device ide-hd,drive=disk0 > + objects: ahci* > + > + - name: floppy > + args: > > + -machine pc -nodefaults -device floppy,id=floppy0 > + -drive id=disk0,file=null-co://,file.read-zeroes=on,if=none > + -device floppy,drive=disk0,drive-type=288 > + objects: fd* floppy* > + > + - name: xhci > + args: > > + -machine q35 -nodefaults > + -drive file=null-co://,if=none,format=raw,id=disk0 > + -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 -device usb-bot > + -device usb-storage,drive=disk0 -chardev null,id=cd0 -chardev null,id=cd1 > + -device usb-braille,chardev=cd0 -device usb-ccid -device usb-ccid > + -device usb-kbd -device usb-mouse -device usb-serial,chardev=cd1 > + -device usb-tablet -device usb-wacom-tablet -device usb-audio > + objects: "*usb* *uhci* *xhci*" > + > + - name: pc-i440fx > + args: -machine pc > + objects: "*" > + > + - name: pc-q35 > + args: -machine q35 > + objects: "*" > -- > 2.27.0
diff --git a/scripts/oss-fuzz/general_fuzzer_configs.yml b/scripts/oss-fuzz/general_fuzzer_configs.yml new file mode 100644 index 0000000000..010e92a2a5 --- /dev/null +++ b/scripts/oss-fuzz/general_fuzzer_configs.yml @@ -0,0 +1,103 @@ +configs: + - name: virtio-net-pci-slirp + args: > + -M q35 -nodefaults + -device virtio-net,netdev=net0 -netdev user,id=net0 + objects: virtio* + + - name: virtio-blk + args: > + -machine q35 -device virtio-blk,drive=disk0 + -drive file=null-co://,id=disk0,if=none,format=raw + objects: virtio* + + - name: virtio-scsi + args: > + -machine q35 -device virtio-scsi,num_queues=8 + -device scsi-hd,drive=disk0 + -drive file=null-co://,id=disk0,if=none,format=raw + objects: scsi* virtio* + + - name: virtio-gpu + args: -machine q35 -nodefaults -device virtio-gpu + objects: virtio* + + - name: virtio-vga + args: -machine q35 -nodefaults -device virtio-vga + objects: virtio* + + - name: virtio-rng + args: -machine q35 -nodefaults -device virtio-rng + objects: virtio* + + - name: virtio-balloon + args: -machine q35 -nodefaults -device virtio-balloon + objects: virtio* + + - name: virtio-serial + args: -machine q35 -nodefaults -device virtio-serial + objects: virtio* + + - name: virtio-mouse + args: -machine q35 -nodefaults -device virtio-mouse + objects: virtio* + + - name: e1000 + args: > + -M q35 -nodefaults + -device e1000,netdev=net0 -netdev user,id=net0 + objects: e1000 + + - name: e1000e + args: > + -M q35 -nodefaults + -device e1000e,netdev=net0 -netdev user,id=net0 + objects: e1000e + + - name: cirrus-vga + args: -machine q35 -nodefaults -device cirrus-vga + objects: cirrus* + + - name: bochs-display + args: -machine q35 -nodefaults -device bochs-display + objects: bochs* + + - name: intel-hda + args: > + -machine q35 -nodefaults -device intel-hda,id=hda0 + -device hda-output,bus=hda0.0 -device hda-micro,bus=hda0.0 + -device hda-duplex,bus=hda0.0 + objects: intel-hda + + - name: ide-hd + args: > + -machine q35 -nodefaults + -drive file=null-co://,if=none,format=raw,id=disk0 + -device ide-hd,drive=disk0 + objects: ahci* + + - name: floppy + args: > + -machine pc -nodefaults -device floppy,id=floppy0 + -drive id=disk0,file=null-co://,file.read-zeroes=on,if=none + -device floppy,drive=disk0,drive-type=288 + objects: fd* floppy* + + - name: xhci + args: > + -machine q35 -nodefaults + -drive file=null-co://,if=none,format=raw,id=disk0 + -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 -device usb-bot + -device usb-storage,drive=disk0 -chardev null,id=cd0 -chardev null,id=cd1 + -device usb-braille,chardev=cd0 -device usb-ccid -device usb-ccid + -device usb-kbd -device usb-mouse -device usb-serial,chardev=cd1 + -device usb-tablet -device usb-wacom-tablet -device usb-audio + objects: "*usb* *uhci* *xhci*" + + - name: pc-i440fx + args: -machine pc + objects: "*" + + - name: pc-q35 + args: -machine q35 + objects: "*"
Each of these entries is built into a wrapper binary that sets the needed environment variables and executes the general virtual-device fuzzer. In the future, we will need additional fields, such as arch=arm, timeout_per_testcase=0, reset=reboot, etc... Signed-off-by: Alexander Bulekov <alxndr@bu.edu> --- scripts/oss-fuzz/general_fuzzer_configs.yml | 103 ++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 scripts/oss-fuzz/general_fuzzer_configs.yml