[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 09/11] fuzz/x86emul: update fuzzer
>>> On 02.02.17 at 17:50, <wei.liu2@xxxxxxxxxx> wrote: > On Thu, Feb 02, 2017 at 05:20:56AM -0700, Jan Beulich wrote: >> >>> On 01.02.17 at 13:02, <wei.liu2@xxxxxxxxxx> wrote: >> > +static int fuzz_read_segment( >> > + enum x86_segment seg, >> > + struct segment_register *reg, >> > + struct x86_emulate_ctxt *ctxt) >> > +{ >> > + int rc; >> > + >> > + if ( seg >= SEG_NUM ) >> > + return X86EMUL_UNHANDLEABLE; >> > + >> > + rc = maybe_fail("read_segment", true); >> > + >> > + if ( rc == X86EMUL_OKAY ) >> > + *reg = input.segments[seg]; >> > + >> > + return rc; >> > +} >> >> Just like with ->read_cr(), this must not vary in returned state >> between multiple invocations. > > Fixed for both read_segment and write_segment. Why for write_segment? That one may fail at any time (and wouldn't normally be invoked more than once for a given segment anyway). >> > +static int _fuzz_read_msr( >> > + unsigned int reg, >> > + uint64_t *val, >> > + struct x86_emulate_ctxt *ctxt) >> > +{ >> > + unsigned int idx; >> > + >> > + switch ( reg ) >> > + { >> > + case MSR_TSC_AUX: >> > + case MSR_IA32_TSC: >> > + return data_read("read_msr", val, sizeof(*val)); >> >> Strictly speaking the above applies to TSC_AUX too. And TSC should >> return monotonically increasing values. I don't think though that >> producing random output here matters right now. A comment may >> be worthwhile. >> > > Right, I will add the following: > > /* > * TSC should return monotonically increasing values, but > * returning random values is fine in fuzzer. > */ What about TSC_AUX then? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |