diff mbox series

[v2,13/15] scripts/oss-fuzz: build the general-fuzzer configs

Message ID 20200819061110.1320568-14-alxndr@bu.edu (mailing list archive)
State New, archived
Headers show
Series Add a General Virtual Device Fuzzer | expand

Commit Message

Alexander Bulekov Aug. 19, 2020, 6:11 a.m. UTC
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(-)

Comments

Darren Kenny Sept. 3, 2020, 9:17 a.m. UTC | #1
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
Alexander Bulekov Sept. 7, 2020, 3:49 p.m. UTC | #2
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 mbox series

Patch

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