[PATCH] fuzz: only use generic-fuzz targets on oss-fuzz

Alexander Bulekov posted 1 patch 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220622155028.2086196-1-alxndr@bu.edu
Maintainers: Alexander Bulekov <alxndr@bu.edu>, Paolo Bonzini <pbonzini@redhat.com>, Bandan Das <bsd@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Thomas Huth <thuth@redhat.com>, Darren Kenny <darren.kenny@oracle.com>, Qiuhao Li <Qiuhao.Li@outlook.com>
There is a newer version of this series
scripts/oss-fuzz/build.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] fuzz: only use generic-fuzz targets on oss-fuzz
Posted by Alexander Bulekov 1 year, 10 months ago
The non-generic-fuzz targets often time-out, or run out of memory.
Additionally, they create unreproducible bug-reports. It is possible
that this is resulting in failing coverage-reports on OSS-Fuzz. In the
future, these test-cases should be fixed, or removed.

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

diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
index 98b56e0521..d8b4446d24 100755
--- a/scripts/oss-fuzz/build.sh
+++ b/scripts/oss-fuzz/build.sh
@@ -105,7 +105,7 @@ do
     # 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
+    if echo "$target" | grep -q "generic-fuzz-"; then
         ln  $base_copy \
             "$DEST_DIR/qemu-fuzz-i386-target-$target"
     fi
-- 
2.27.0
Re: [PATCH] fuzz: only use generic-fuzz targets on oss-fuzz
Posted by Darren Kenny 1 year, 10 months ago
Hi Alex,

This looks good to me, so:

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

But, if it is at all possible to use Bash glob in a '[[ ... ]]' test
such as:

  if [[ $target == generic-fuzz-* ]]; then

that might read better - but it seems the default is that we don't
assume that, or am I wrong? (This is probably a question for others on
the CC-list)

Thanks,

Darren.

On Wednesday, 2022-06-22 at 11:50:28 -04, Alexander Bulekov wrote:
> The non-generic-fuzz targets often time-out, or run out of memory.
> Additionally, they create unreproducible bug-reports. It is possible
> that this is resulting in failing coverage-reports on OSS-Fuzz. In the
> future, these test-cases should be fixed, or removed.
>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> ---
>  scripts/oss-fuzz/build.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index 98b56e0521..d8b4446d24 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -105,7 +105,7 @@ do
>      # 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
> +    if echo "$target" | grep -q "generic-fuzz-"; then
>          ln  $base_copy \
>              "$DEST_DIR/qemu-fuzz-i386-target-$target"
>      fi
> -- 
> 2.27.0
Re: [PATCH] fuzz: only use generic-fuzz targets on oss-fuzz
Posted by Alexander Bulekov 1 year, 10 months ago
On 220622 1703, Darren Kenny wrote:
> Hi Alex,
> 
> This looks good to me, so:
> 
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> 
> But, if it is at all possible to use Bash glob in a '[[ ... ]]' test
> such as:
> 
>   if [[ $target == generic-fuzz-* ]]; then
> 
> that might read better - but it seems the default is that we don't
> assume that, or am I wrong? (This is probably a question for others on
> the CC-list)

That sounds good to me. Should we change the script to #!/bin/bash, to
be safe?
-Alex

> 
> Thanks,
> 
> Darren.
> 
> On Wednesday, 2022-06-22 at 11:50:28 -04, Alexander Bulekov wrote:
> > The non-generic-fuzz targets often time-out, or run out of memory.
> > Additionally, they create unreproducible bug-reports. It is possible
> > that this is resulting in failing coverage-reports on OSS-Fuzz. In the
> > future, these test-cases should be fixed, or removed.
> >
> > Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> > ---
> >  scripts/oss-fuzz/build.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> > index 98b56e0521..d8b4446d24 100755
> > --- a/scripts/oss-fuzz/build.sh
> > +++ b/scripts/oss-fuzz/build.sh
> > @@ -105,7 +105,7 @@ do
> >      # 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
> > +    if echo "$target" | grep -q "generic-fuzz-"; then
> >          ln  $base_copy \
> >              "$DEST_DIR/qemu-fuzz-i386-target-$target"
> >      fi
> > -- 
> > 2.27.0
Re: [PATCH] fuzz: only use generic-fuzz targets on oss-fuzz
Posted by Darren Kenny 1 year, 10 months ago
On Wednesday, 2022-06-22 at 12:28:40 -04, Alexander Bulekov wrote:
> On 220622 1703, Darren Kenny wrote:
>> Hi Alex,
>> 
>> This looks good to me, so:
>> 
>> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
>> 
>> But, if it is at all possible to use Bash glob in a '[[ ... ]]' test
>> such as:
>> 
>>   if [[ $target == generic-fuzz-* ]]; then
>> 
>> that might read better - but it seems the default is that we don't
>> assume that, or am I wrong? (This is probably a question for others on
>> the CC-list)
>
> That sounds good to me. Should we change the script to #!/bin/bash, to
> be safe?

If it is acceptable to use the '[[ ... ]]' syntax then you'd definitely
want to ensure that it is bash that is used.

Thanks,

Darren.

> -Alex
>
>> 
>> Thanks,
>> 
>> Darren.
>> 
>> On Wednesday, 2022-06-22 at 11:50:28 -04, Alexander Bulekov wrote:
>> > The non-generic-fuzz targets often time-out, or run out of memory.
>> > Additionally, they create unreproducible bug-reports. It is possible
>> > that this is resulting in failing coverage-reports on OSS-Fuzz. In the
>> > future, these test-cases should be fixed, or removed.
>> >
>> > Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
>> > ---
>> >  scripts/oss-fuzz/build.sh | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
>> > index 98b56e0521..d8b4446d24 100755
>> > --- a/scripts/oss-fuzz/build.sh
>> > +++ b/scripts/oss-fuzz/build.sh
>> > @@ -105,7 +105,7 @@ do
>> >      # 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
>> > +    if echo "$target" | grep -q "generic-fuzz-"; then
>> >          ln  $base_copy \
>> >              "$DEST_DIR/qemu-fuzz-i386-target-$target"
>> >      fi
>> > -- 
>> > 2.27.0
Re: [PATCH] fuzz: only use generic-fuzz targets on oss-fuzz
Posted by Thomas Huth 1 year, 10 months ago
On 22/06/2022 18.38, Darren Kenny wrote:
> On Wednesday, 2022-06-22 at 12:28:40 -04, Alexander Bulekov wrote:
>> On 220622 1703, Darren Kenny wrote:
>>> Hi Alex,
>>>
>>> This looks good to me, so:
>>>
>>> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
>>>
>>> But, if it is at all possible to use Bash glob in a '[[ ... ]]' test
>>> such as:
>>>
>>>    if [[ $target == generic-fuzz-* ]]; then
>>>
>>> that might read better - but it seems the default is that we don't
>>> assume that, or am I wrong? (This is probably a question for others on
>>> the CC-list)
>>
>> That sounds good to me. Should we change the script to #!/bin/bash, to
>> be safe?
> 
> If it is acceptable to use the '[[ ... ]]' syntax then you'd definitely
> want to ensure that it is bash that is used.

This is not a script that has to run on arbitrary host types, so I think 
it's OK to change the shebang line to use bash here.

  Thomas