Message ID | 20200819061110.1320568-14-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:08 -04, Alexander Bulekov wrote: > Build general-fuzzer wrappers for each configuration defined in > general_fuzzer_configs.yml and move the actual general-fuzzer to a > subdirectory, so oss-fuzz doesn't treat it as a standalone fuzzer. You didn't mention the removeal of *uhci* from the config below, should probably be at least referenced. > > Signed-off-by: Alexander Bulekov <alxndr@bu.edu> With that, Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Thanks, Darren. > --- > scripts/oss-fuzz/build.sh | 8 +++++++- > scripts/oss-fuzz/general_fuzzer_configs.yml | 2 +- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh > index a07b3022e8..2071e77ac2 100755 > --- a/scripts/oss-fuzz/build.sh > +++ b/scripts/oss-fuzz/build.sh > @@ -38,7 +38,7 @@ OSS_FUZZ_BUILD_DIR="./build-oss-fuzz/" > # remove it, resulting in an unresolved reference to qemu_build_not_reached > # Undefine the __OPTIMIZE__ macro which compiler.h relies on to choose whether > # to " #define qemu_build_not_reached() g_assert_not_reached() " > -EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__" > +EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__ -DCONFIG_FUZZ=y" > > if ! { [ -e "./COPYING" ] && > [ -e "./MAINTAINERS" ] && > @@ -101,5 +101,11 @@ do > cp ./i386-softmmu/qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target" > done > > +mkdir -p "$DEST_DIR/deps" > +mv "$DEST_DIR/qemu-fuzz-i386-target-general-fuzz" "$DEST_DIR/deps/" > + > +./scripts/oss-fuzz/build_general_fuzzers.py \ > + "./scripts/oss-fuzz/general_fuzzer_configs.yml" "$DEST_DIR/general-fuzz-" > + > echo "Done. The fuzzers are located in $DEST_DIR" > exit 0 > diff --git a/scripts/oss-fuzz/general_fuzzer_configs.yml b/scripts/oss-fuzz/general_fuzzer_configs.yml > index 010e92a2a5..f70bacb243 100644 > --- a/scripts/oss-fuzz/general_fuzzer_configs.yml > +++ b/scripts/oss-fuzz/general_fuzzer_configs.yml > @@ -92,7 +92,7 @@ configs: > -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*" > + objects: "*usb* *xhci*" > > - name: pc-i440fx > args: -machine pc > -- > 2.27.0
On 200903 1017, Darren Kenny wrote: > On Wednesday, 2020-08-19 at 02:11:08 -04, Alexander Bulekov wrote: > > Build general-fuzzer wrappers for each configuration defined in > > general_fuzzer_configs.yml and move the actual general-fuzzer to a > > subdirectory, so oss-fuzz doesn't treat it as a standalone fuzzer. > > You didn't mention the removeal of *uhci* from the config below, should > probably be at least referenced. Must have made a mistake when I was fixup/rebasing. Shouldn't be there, next time around. Thanks -Alex > > > > Signed-off-by: Alexander Bulekov <alxndr@bu.edu> > > With that, > > Reviewed-by: Darren Kenny <darren.kenny@oracle.com> > > Thanks, > > Darren. > > > --- > > scripts/oss-fuzz/build.sh | 8 +++++++- > > scripts/oss-fuzz/general_fuzzer_configs.yml | 2 +- > > 2 files changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh > > index a07b3022e8..2071e77ac2 100755 > > --- a/scripts/oss-fuzz/build.sh > > +++ b/scripts/oss-fuzz/build.sh > > @@ -38,7 +38,7 @@ OSS_FUZZ_BUILD_DIR="./build-oss-fuzz/" > > # remove it, resulting in an unresolved reference to qemu_build_not_reached > > # Undefine the __OPTIMIZE__ macro which compiler.h relies on to choose whether > > # to " #define qemu_build_not_reached() g_assert_not_reached() " > > -EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__" > > +EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__ -DCONFIG_FUZZ=y" > > > > if ! { [ -e "./COPYING" ] && > > [ -e "./MAINTAINERS" ] && > > @@ -101,5 +101,11 @@ do > > cp ./i386-softmmu/qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target" > > done > > > > +mkdir -p "$DEST_DIR/deps" > > +mv "$DEST_DIR/qemu-fuzz-i386-target-general-fuzz" "$DEST_DIR/deps/" > > + > > +./scripts/oss-fuzz/build_general_fuzzers.py \ > > + "./scripts/oss-fuzz/general_fuzzer_configs.yml" "$DEST_DIR/general-fuzz-" > > + > > echo "Done. The fuzzers are located in $DEST_DIR" > > exit 0 > > diff --git a/scripts/oss-fuzz/general_fuzzer_configs.yml b/scripts/oss-fuzz/general_fuzzer_configs.yml > > index 010e92a2a5..f70bacb243 100644 > > --- a/scripts/oss-fuzz/general_fuzzer_configs.yml > > +++ b/scripts/oss-fuzz/general_fuzzer_configs.yml > > @@ -92,7 +92,7 @@ configs: > > -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*" > > + objects: "*usb* *xhci*" > > > > - name: pc-i440fx > > args: -machine pc > > -- > > 2.27.0
diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh index a07b3022e8..2071e77ac2 100755 --- a/scripts/oss-fuzz/build.sh +++ b/scripts/oss-fuzz/build.sh @@ -38,7 +38,7 @@ OSS_FUZZ_BUILD_DIR="./build-oss-fuzz/" # remove it, resulting in an unresolved reference to qemu_build_not_reached # Undefine the __OPTIMIZE__ macro which compiler.h relies on to choose whether # to " #define qemu_build_not_reached() g_assert_not_reached() " -EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__" +EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__ -DCONFIG_FUZZ=y" if ! { [ -e "./COPYING" ] && [ -e "./MAINTAINERS" ] && @@ -101,5 +101,11 @@ do cp ./i386-softmmu/qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target" done +mkdir -p "$DEST_DIR/deps" +mv "$DEST_DIR/qemu-fuzz-i386-target-general-fuzz" "$DEST_DIR/deps/" + +./scripts/oss-fuzz/build_general_fuzzers.py \ + "./scripts/oss-fuzz/general_fuzzer_configs.yml" "$DEST_DIR/general-fuzz-" + echo "Done. The fuzzers are located in $DEST_DIR" exit 0 diff --git a/scripts/oss-fuzz/general_fuzzer_configs.yml b/scripts/oss-fuzz/general_fuzzer_configs.yml index 010e92a2a5..f70bacb243 100644 --- a/scripts/oss-fuzz/general_fuzzer_configs.yml +++ b/scripts/oss-fuzz/general_fuzzer_configs.yml @@ -92,7 +92,7 @@ configs: -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*" + objects: "*usb* *xhci*" - name: pc-i440fx args: -machine pc
Build general-fuzzer wrappers for each configuration defined in general_fuzzer_configs.yml and move the actual general-fuzzer to a subdirectory, so oss-fuzz doesn't treat it as a standalone fuzzer. Signed-off-by: Alexander Bulekov <alxndr@bu.edu> --- scripts/oss-fuzz/build.sh | 8 +++++++- scripts/oss-fuzz/general_fuzzer_configs.yml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-)