diff mbox series

[v7,17/17] scripts/oss-fuzz: ignore the generic-fuzz target

Message ID 20201023150746.107063-18-alxndr@bu.edu
State New
Headers show
Series Add a Generic Virtual Device Fuzzer | expand

Commit Message

Alexander Bulekov Oct. 23, 2020, 3:07 p.m. UTC
generic-fuzz is not a standalone fuzzer - it requires some env variables
to be set. On oss-fuzz, we set these with some predefined
generic-fuzz-{...} targets, that are thin wrappers around generic-fuzz.
Do not make a link for the generic-fuzz from the oss-fuzz build, so
oss-fuzz does not treat it as a standalone fuzzer.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
---
 scripts/oss-fuzz/build.sh | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Darren Kenny Oct. 23, 2020, 4:03 p.m. UTC | #1
On Friday, 2020-10-23 at 11:07:46 -04, Alexander Bulekov wrote:
> generic-fuzz is not a standalone fuzzer - it requires some env variables
> to be set. On oss-fuzz, we set these with some predefined
> generic-fuzz-{...} targets, that are thin wrappers around generic-fuzz.
> Do not make a link for the generic-fuzz from the oss-fuzz build, so
> oss-fuzz does not treat it as a standalone fuzzer.
>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>

> ---
>  scripts/oss-fuzz/build.sh | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index 0ce2867732..40e15985cf 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -99,8 +99,14 @@ cp "./qemu-fuzz-i386" "$DEST_DIR/bin/"
>  # executable name)
>  for target in $(./qemu-fuzz-i386 | awk '$1 ~ /\*/  {print $2}');
>  do
> -    ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
> -        "$DEST_DIR/qemu-fuzz-i386-target-$target"
> +    # Ignore the generic-fuzz target, as it requires some environment variables to
> +    # be configured. We have some generic-fuzz-{pc-q35, floppy, ...} targets that
> +    # are thin wrappers around this target that set the required environment
> +    # variables according to predefined configs.
> +    if [ "$target" != "generic-fuzz" ]; then
> +        ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
> +            "$DEST_DIR/qemu-fuzz-i386-target-$target"
> +    fi
>  done
>  
>  echo "Done. The fuzzers are located in $DEST_DIR"
> -- 
> 2.28.0
Thomas Huth Oct. 26, 2020, 8:53 a.m. UTC | #2
On 23/10/2020 17.07, Alexander Bulekov wrote:
> generic-fuzz is not a standalone fuzzer - it requires some env variables
> to be set. On oss-fuzz, we set these with some predefined
> generic-fuzz-{...} targets, that are thin wrappers around generic-fuzz.
> Do not make a link for the generic-fuzz from the oss-fuzz build, so
> oss-fuzz does not treat it as a standalone fuzzer.
> 
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> ---
>  scripts/oss-fuzz/build.sh | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index 0ce2867732..40e15985cf 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -99,8 +99,14 @@ cp "./qemu-fuzz-i386" "$DEST_DIR/bin/"
>  # executable name)
>  for target in $(./qemu-fuzz-i386 | awk '$1 ~ /\*/  {print $2}');
>  do
> -    ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
> -        "$DEST_DIR/qemu-fuzz-i386-target-$target"
> +    # Ignore the generic-fuzz target, as it requires some environment variables to
> +    # be configured. We have some generic-fuzz-{pc-q35, floppy, ...} targets that
> +    # are thin wrappers around this target that set the required environment
> +    # variables according to predefined configs.

Just FYI, I'll rewrap this comment so that it stays within the 80 columns
limit to avoid a warning from checkpatch.pl.

> +    if [ "$target" != "generic-fuzz" ]; then
> +        ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
> +            "$DEST_DIR/qemu-fuzz-i386-target-$target"
> +    fi
>  done
>  
>  echo "Done. The fuzzers are located in $DEST_DIR"
> 

 Thomas
diff mbox series

Patch

diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
index 0ce2867732..40e15985cf 100755
--- a/scripts/oss-fuzz/build.sh
+++ b/scripts/oss-fuzz/build.sh
@@ -99,8 +99,14 @@  cp "./qemu-fuzz-i386" "$DEST_DIR/bin/"
 # executable name)
 for target in $(./qemu-fuzz-i386 | awk '$1 ~ /\*/  {print $2}');
 do
-    ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
-        "$DEST_DIR/qemu-fuzz-i386-target-$target"
+    # Ignore the generic-fuzz target, as it requires some environment variables to
+    # be configured. We have some generic-fuzz-{pc-q35, floppy, ...} targets that
+    # are thin wrappers around this target that set the required environment
+    # variables according to predefined configs.
+    if [ "$target" != "generic-fuzz" ]; then
+        ln  "$DEST_DIR/bin/qemu-fuzz-i386" \
+            "$DEST_DIR/qemu-fuzz-i386-target-$target"
+    fi
 done
 
 echo "Done. The fuzzers are located in $DEST_DIR"