Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-12 Thread Paolo Bonzini
On 11/10/20 17:35, Alexander Bulekov wrote: >> Instead of always looking for a separator, can you: >> >> 1) skip over it if you find it naturally at the end of a command (that >> is, "FUZZ" is like a comment command) >> >> 2) actively search for it only if you stumble upon an unrecognized command?

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-11 Thread Alexander Bulekov
On 201008 0903, Paolo Bonzini wrote: > On 21/09/20 16:34, Alexander Bulekov wrote: > >> Can you fuzz writing "FUZZ" in memory? Like: > >> OP_WRITE(0x10, "UsingLibFUZZerString")? > > No.. Hopefully that's not a huge problem. > > > > Instead of always looking for a separator, can you: > > 1)

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-08 Thread Paolo Bonzini
On 22/09/20 16:03, Alexander Bulekov wrote: >> +if ((memory_region_is_ram(mr) || >> +memory_region_is_ram_device(mr) || >> +memory_region_is_rom(mr) || >> +memory_region_is_romd(mr)) == false) { >> +name =

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-08 Thread Paolo Bonzini
On 21/09/20 16:34, Alexander Bulekov wrote: >> Can you fuzz writing "FUZZ" in memory? Like: >> OP_WRITE(0x10, "UsingLibFUZZerString")? > No.. Hopefully that's not a huge problem. > Instead of always looking for a separator, can you: 1) skip over it if you find it naturally at the end of a

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-07 Thread Darren Kenny
On Wednesday, 2020-10-07 at 09:39:32 -04, Alexander Bulekov wrote: > On 201001 1629, Darren Kenny wrote: ... >> >> It might make sense to put the definition of SEPARATOR and some variant >> of the above the comments in patch 9 where you're adding this related >> functionality? >> >> It seems a

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-07 Thread Alexander Bulekov
On 201001 1629, Darren Kenny wrote: > Hi Alex, > > On Monday, 2020-09-21 at 10:34:05 -04, Alexander Bulekov wrote: > > On 200921 0743, Philippe Mathieu-Daudé wrote: > >> Hi Alexander, > >> > >> On 9/21/20 4:24 AM, Alexander Bulekov wrote: > >> > This is a generic fuzzer designed to fuzz a

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-10-01 Thread Darren Kenny
Hi Alex, On Monday, 2020-09-21 at 10:34:05 -04, Alexander Bulekov wrote: > On 200921 0743, Philippe Mathieu-Daudé wrote: >> Hi Alexander, >> >> On 9/21/20 4:24 AM, Alexander Bulekov wrote: >> > This is a generic fuzzer designed to fuzz a virtual device's >> > MemoryRegions, as long as they exist

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-09-22 Thread Alexander Bulekov
On 200920 2224, Alexander Bulekov wrote: [snip] > +static int locate_fuzz_memory_regions(Object *child, void *opaque) > +{ > +const char *name; > +MemoryRegion *mr; > +if (object_dynamic_cast(child, TYPE_MEMORY_REGION)) { > +mr = MEMORY_REGION(child); > +if

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-09-21 Thread Alexander Bulekov
On 200921 0743, Philippe Mathieu-Daudé wrote: > Hi Alexander, > > On 9/21/20 4:24 AM, Alexander Bulekov wrote: > > This is a generic fuzzer designed to fuzz a virtual device's > > MemoryRegions, as long as they exist within the Memory or Port IO (if it > > exists) AddressSpaces. The fuzzer's

Re: [PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-09-20 Thread Philippe Mathieu-Daudé
Hi Alexander, On 9/21/20 4:24 AM, Alexander Bulekov wrote: > This is a generic fuzzer designed to fuzz a virtual device's > MemoryRegions, as long as they exist within the Memory or Port IO (if it > exists) AddressSpaces. The fuzzer's input is interpreted into a sequence > of qtest commands

[PATCH v3 02/16] fuzz: Add general virtual-device fuzzer

2020-09-20 Thread Alexander Bulekov
This is a generic fuzzer designed to fuzz a virtual device's MemoryRegions, as long as they exist within the Memory or Port IO (if it exists) AddressSpaces. The fuzzer's input is interpreted into a sequence of qtest commands (outb, readw, etc). The interpreted commands are separated by a magic