[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 16/16] scripts/oss-fuzz: remove the generic-fuzz target
From: |
Alexander Bulekov |
Subject: |
Re: [PATCH v6 16/16] scripts/oss-fuzz: remove the generic-fuzz target |
Date: |
Thu, 22 Oct 2020 09:01:23 -0400 |
On 201022 1032, Darren Kenny wrote:
> Hi Alex,
>
> On Wednesday, 2020-10-21 at 17:09:22 -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.
> > Remove 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 | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> > index 0c3ca9e06f..37cd7f9e25 100755
> > --- a/scripts/oss-fuzz/build.sh
> > +++ b/scripts/oss-fuzz/build.sh
> > @@ -97,5 +97,11 @@ do
>
Hi Darren,
> I'm presuming that the target that you're removing is being created by
> this line, maybe we should just specifically skip it here instead?
Sounds good.
> The comment below on the removal probably would still apply though.
>
> > cp qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target"
>
> Also, did you look into using hard-links, or even sym-links - they would
> require less duplication of the binaries, which may be important, or may
> not, and quicker creation too, e.g.
>
> ln qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target"
This is what I tried, when I was putting together the patch-series, and
it raised an error when I was testing it in the oss-fuzz
docker-containers. I blamed it on Docker, originally, but I just took a
closer look, and the problem was that "qemu-fuzz-i386" isn't on the same
file-system as $DEST_DIR in the oss-fuzz Docker. If I copy
qemu-fuzz-i386 to $DEST_DIR/lib, and do
ln "$DEST_DIR/lib/qemu-fuzz-i386" \
"$DEST_DIR/qemu-fuzz-i386-target-$target"
everything works :)
Thanks
-Alex
>
> It's something that has been done for years, for example if you do:
>
> ls -il /sbin/{e2fsck,fsck.ext*}
>
> you will see they share the same inode. Similarly for vi and ex, they
> use symlinks (hardlinks on some OSes, but seems not Linux):
>
> ls -il /bin/{vi,ex}
>
> The main point is that argv[0] will be the name of link itself, not the
> thing pointed to.
>
> Thanks,
>
> Darren.
>
> > done
> >
> > +# Remove 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.
> > +rm "$DEST_DIR/qemu-fuzz-i386-target-generic-fuzz"
> > +
> > echo "Done. The fuzzers are located in $DEST_DIR"
> > exit 0
> > --
> > 2.28.0
- [PATCH v6 12/16] fuzz: Add instructions for using generic-fuzz, (continued)
- [PATCH v6 12/16] fuzz: Add instructions for using generic-fuzz, Alexander Bulekov, 2020/10/21
- [PATCH v6 11/16] scripts/oss-fuzz: Add crash trace minimization script, Alexander Bulekov, 2020/10/21
- [PATCH v6 13/16] fuzz: add an "opaque" to the FuzzTarget struct, Alexander Bulekov, 2020/10/21
- [PATCH v6 14/16] fuzz: add generic-fuzz configs for oss-fuzz, Alexander Bulekov, 2020/10/21
- [PATCH v6 15/16] fuzz: register predefined generic-fuzz configs, Alexander Bulekov, 2020/10/21
- [PATCH v6 16/16] scripts/oss-fuzz: remove the generic-fuzz target, Alexander Bulekov, 2020/10/21