Message ID | 20201101212245.185819-1-alxndr@bu.edu |
---|---|
State | Accepted |
Commit | f8b8f3746327d577cdd25d6f86bd993178aece58 |
Headers | show |
Series | [PATCH-for-5.2] scripts/oss-fuzz: rename bin/qemu-fuzz-i386 | expand |
On 01/11/20 22:22, Alexander Bulekov wrote: > OSS-Fuzz changed the way it scans for fuzzers in $DEST_DIR. The new code > also scans subdirectories for fuzzers. This means that OSS-Fuzz is > considering bin/qemu-fuzz-i386 as an independent fuzzer (it is not - it > requires a --fuzz-target argument). This has led to coverage-build > failures and false crash reports. To work around this, we take advantage > of OSS-Fuzz' filename extension check - OSS-Fuzz will not run anything > that has an extension that is not ".exe": > https://github.com/google/oss-fuzz/blob/master/infra/utils.py#L115 > > Reported-by: OSS-Fuzz (Issue 26725) > Reported-by: OSS-Fuzz (Issue 26679) > Signed-off-by: Alexander Bulekov <alxndr@bu.edu> > --- > > Also, for context: > https://github.com/google/oss-fuzz/issues/4575 > > scripts/oss-fuzz/build.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh > index fcae4a0c26..3b1c82b63d 100755 > --- a/scripts/oss-fuzz/build.sh > +++ b/scripts/oss-fuzz/build.sh > @@ -91,7 +91,7 @@ make "-j$(nproc)" qemu-fuzz-i386 V=1 > # Copy over the datadir > cp -r ../pc-bios/ "$DEST_DIR/pc-bios" > > -cp "./qemu-fuzz-i386" "$DEST_DIR/bin/" > +cp "./qemu-fuzz-i386" "$DEST_DIR/bin/qemu-fuzz-i386.base" > > # Run the fuzzer with no arguments, to print the help-string and get the list > # of available fuzz-targets. Copy over the qemu-fuzz-i386, naming it according > @@ -104,7 +104,7 @@ do > # 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" \ > + ln "$DEST_DIR/bin/qemu-fuzz-i386.base" \ > "$DEST_DIR/qemu-fuzz-i386-target-$target" > fi > done > Queued, thanks. Paolo
diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh index fcae4a0c26..3b1c82b63d 100755 --- a/scripts/oss-fuzz/build.sh +++ b/scripts/oss-fuzz/build.sh @@ -91,7 +91,7 @@ make "-j$(nproc)" qemu-fuzz-i386 V=1 # Copy over the datadir cp -r ../pc-bios/ "$DEST_DIR/pc-bios" -cp "./qemu-fuzz-i386" "$DEST_DIR/bin/" +cp "./qemu-fuzz-i386" "$DEST_DIR/bin/qemu-fuzz-i386.base" # Run the fuzzer with no arguments, to print the help-string and get the list # of available fuzz-targets. Copy over the qemu-fuzz-i386, naming it according @@ -104,7 +104,7 @@ do # 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" \ + ln "$DEST_DIR/bin/qemu-fuzz-i386.base" \ "$DEST_DIR/qemu-fuzz-i386-target-$target" fi done
OSS-Fuzz changed the way it scans for fuzzers in $DEST_DIR. The new code also scans subdirectories for fuzzers. This means that OSS-Fuzz is considering bin/qemu-fuzz-i386 as an independent fuzzer (it is not - it requires a --fuzz-target argument). This has led to coverage-build failures and false crash reports. To work around this, we take advantage of OSS-Fuzz' filename extension check - OSS-Fuzz will not run anything that has an extension that is not ".exe": https://github.com/google/oss-fuzz/blob/master/infra/utils.py#L115 Reported-by: OSS-Fuzz (Issue 26725) Reported-by: OSS-Fuzz (Issue 26679) Signed-off-by: Alexander Bulekov <alxndr@bu.edu> --- Also, for context: https://github.com/google/oss-fuzz/issues/4575 scripts/oss-fuzz/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)