From: Darren Kenny <darren.kenny@oracle.com>
To: Alexander Bulekov <alxndr@bu.edu>, qemu-devel@nongnu.org
Cc: Laurent Vivier <lvivier@redhat.com>,
Thomas Huth <thuth@redhat.com>,
f4bug@amsat.org, Alexander Bulekov <alxndr@bu.edu>,
bsd@redhat.com, stefanha@redhat.com, pbonzini@redhat.com,
dimastep@yandex-team.ru
Subject: Re: [PATCH v6 14/16] fuzz: add generic-fuzz configs for oss-fuzz
Date: Thu, 22 Oct 2020 10:15:37 +0100 [thread overview]
Message-ID: <m2tuum7hae.fsf@oracle.com> (raw)
In-Reply-To: <20201021210922.572955-15-alxndr@bu.edu>
On Wednesday, 2020-10-21 at 17:09:20 -04, Alexander Bulekov wrote:
> Predefine some generic-fuzz configs. For each of these, we will create a
> separate FuzzTarget that can be selected through argv0 and, therefore,
> fuzzed on oss-fuzz.
>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> ---
> tests/qtest/fuzz/generic_fuzz_configs.h | 121 ++++++++++++++++++++++++
> 1 file changed, 121 insertions(+)
> create mode 100644 tests/qtest/fuzz/generic_fuzz_configs.h
>
> diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h
> new file mode 100644
> index 0000000000..c4d925f9e6
> --- /dev/null
> +++ b/tests/qtest/fuzz/generic_fuzz_configs.h
> @@ -0,0 +1,121 @@
> +/*
> + * Generic Virtual-Device Fuzzing Target Configs
> + *
> + * Copyright Red Hat Inc., 2020
> + *
> + * Authors:
> + * Alexander Bulekov <alxndr@bu.edu>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef GENERIC_FUZZ_CONFIGS_H
> +#define GENERIC_FUZZ_CONFIGS_H
> +
> +#include "qemu/osdep.h"
> +
> +typedef struct generic_fuzz_config {
> + const char *name, *args, *objects;
> +} generic_fuzz_config;
> +
> +const generic_fuzz_config predefined_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 = "*",
> + }
> +};
> +
> +#endif
> --
> 2.28.0
next prev parent reply other threads:[~2020-10-22 9:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-21 21:09 [PATCH v6 00/16] Add a Generic Virtual Device Fuzzer Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 01/16] memory: Add FlatView foreach function Alexander Bulekov
2020-10-22 8:09 ` Darren Kenny
2020-10-21 21:09 ` [PATCH v6 02/16] fuzz: Add generic virtual-device fuzzer Alexander Bulekov
2020-10-22 9:12 ` Darren Kenny
2020-10-21 21:09 ` [PATCH v6 03/16] fuzz: Add PCI features to the generic fuzzer Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 04/16] fuzz: Add DMA support to the generic-fuzzer Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 05/16] fuzz: Declare DMA Read callback function Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 06/16] fuzz: Add fuzzer callbacks to DMA-read functions Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 07/16] fuzz: Add support for custom crossover functions Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 08/16] fuzz: add a DISABLE_PCI op to generic-fuzzer Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 09/16] fuzz: add a crossover function " Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 10/16] scripts/oss-fuzz: Add script to reorder a generic-fuzzer trace Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 11/16] scripts/oss-fuzz: Add crash trace minimization script Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 12/16] fuzz: Add instructions for using generic-fuzz Alexander Bulekov
2020-10-21 21:09 ` [PATCH v6 13/16] fuzz: add an "opaque" to the FuzzTarget struct Alexander Bulekov
2020-10-22 9:14 ` Darren Kenny
2020-10-21 21:09 ` [PATCH v6 14/16] fuzz: add generic-fuzz configs for oss-fuzz Alexander Bulekov
2020-10-22 9:15 ` Darren Kenny [this message]
2020-10-21 21:09 ` [PATCH v6 15/16] fuzz: register predefined generic-fuzz configs Alexander Bulekov
2020-10-22 9:18 ` Darren Kenny
2020-10-21 21:09 ` [PATCH v6 16/16] scripts/oss-fuzz: remove the generic-fuzz target Alexander Bulekov
2020-10-22 9:32 ` Darren Kenny
2020-10-22 13:01 ` Alexander Bulekov
2020-10-22 13:13 ` Darren Kenny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2tuum7hae.fsf@oracle.com \
--to=darren.kenny@oracle.com \
--cc=alxndr@bu.edu \
--cc=bsd@redhat.com \
--cc=dimastep@yandex-team.ru \
--cc=f4bug@amsat.org \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.