[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: |
Darren Kenny |
Subject: |
Re: [PATCH v6 16/16] scripts/oss-fuzz: remove the generic-fuzz target |
Date: |
Thu, 22 Oct 2020 14:13:09 +0100 |
On Thursday, 2020-10-22 at 09:01:23 -04, Alexander Bulekov wrote:
> 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 :)
Fair enough then!
Thanks,
Darren.
> 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 11/16] scripts/oss-fuzz: Add crash trace minimization script, (continued)
- [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