[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] Add libfuzzer target to fuzz/x86_instruction_emulator


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Tamas K Lengyel <tamas@xxxxxxxxxxxxx>
  • Date: Mon, 22 Jul 2024 07:38:17 -0400
  • Arc-authentication-results: i=1; mx.zohomail.com; dkim=pass header.i=tklengyel.com; spf=pass smtp.mailfrom=tamas@xxxxxxxxxxxxx; dmarc=pass header.from=<tamas@xxxxxxxxxxxxx>
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1721648336; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=LJvo75+KH1x9+taQW6ikfbio8PDB7eM1uhwOlvxIMCI=; b=cL5etDm3X4CvAWc0YDNM8cLhX1s+rlHNeyoBaU4FVOufFLrWg1uwik8INEjZnIvOyWeDXIL2T9cKGVu+5pAA3YauDsTlWb+VncSckOPWHXDxI7YwBVicbEkxbHYAyEYMAA6q+0n+wSSWgKHPYJpRWtLisfEzAz80AaMHd8scPPA=
  • Arc-seal: i=1; a=rsa-sha256; t=1721648336; cv=none; d=zohomail.com; s=zohoarc; b=ef4bLp8AhEaiZcR91kZ2q4Njc0cpu6zwDr/+v6QxKbDuX3UupLOxnu6Yh4vJuWDp3rZd2vDb1OwJG8Ja8+4yQTyRYXFn12FoFOpOI/VK9FpXrsAxqo2XEMByjls7R15TGGJp6WM9h8Ksvhdw7wqLmK7z+pnqNnwDScL4C17jbdE=
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Anthony PERARD <anthony@xxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 22 Jul 2024 11:39:05 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Mon, Jul 22, 2024 at 7:34 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
>
> On 22.07.2024 13:29, Tamas K Lengyel wrote:
> > On Mon, Jul 22, 2024 at 7:08 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
> >>
> >> On 22.07.2024 13:03, Tamas K Lengyel wrote:
> >>> On Mon, Jul 22, 2024 at 5:20 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
> >>>>
> >>>> On 26.06.2024 00:47, Tamas K Lengyel wrote:
> >>>>> This target enables integration into oss-fuzz. Changing invalid input 
> >>>>> return
> >>>>> to -1 as values other then 0/-1 are reserved by libfuzzer. Also adding 
> >>>>> the
> >>>>> missing __wrap_vsnprintf wrapper which is required for successful 
> >>>>> oss-fuzz
> >>>>> build.
> >>>>>
> >>>>> Signed-off-by: Tamas K Lengyel <tamas@xxxxxxxxxxxxx>
> >>>>
> >>>> I've reverted this right away, because of ...
> >>>>
> >>>>> @@ -58,6 +58,9 @@ afl-harness: afl-harness.o $(OBJS) cpuid.o wrappers.o
> >>>>>  afl-harness-cov: afl-harness-cov.o $(patsubst %.o,%-cov.o,$(OBJS)) 
> >>>>> cpuid.o wrappers.o
> >>>>>       $(CC) $(CFLAGS) $(GCOV_FLAGS) $(addprefix 
> >>>>> -Wl$(comma)--wrap=,$(WRAPPED)) $^ -o $@
> >>>>>
> >>>>> +libfuzzer-harness: $(OBJS) cpuid.o wrappers.o
> >>>>> +     $(CC) $(CFLAGS) $(LIB_FUZZING_ENGINE) -fsanitize=fuzzer 
> >>>>> $(addprefix -Wl$(comma)--wrap=,$(WRAPPED)) $^ -o $@
> >>>>
> >>>> ... this causing
> >>>>
> >>>> gcc: error: unrecognized argument to '-fsanitize=' option: 'fuzzer'
> >>>> make[6]: *** [Makefile:62: libfuzzer-harness] Error 1
> >>>>
> >>>> with apparently a fair set of gcc-s used by distro-s we use for CI.
> >>>
> >>> Well let me see if I can hack the Makefile to only build this with clang..
> >>
> >> Oh, and - please don't special case Clang. Instead please check for option
> >> availability (e.g. using cc-option), such that for possible future gcc,
> >> when support there may have been added, we'd then build it there as well.
> >
> > I decided to just not include the libfuzzer harness in the default 'all' 
> > target.
>
> Hmm. I'll look (and comment) there, but I'm not sure that's a route we want to
> take. Goals generally ought to work or be unavailable, I'm inclined to say.

That Makefile already has targets that are not part of all so I don't
think it's a big deal.

Tamas



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.