[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 06/10] tools/insn-fuzz: Correct hook prototypes, and assert() appropriate segments
>>> On 27.03.17 at 11:56, <andrew.cooper3@xxxxxxxxxx> wrote: > The correct prototypes for the hooks are to use enum x86_segment rather than > unsigned int. It is implementation specific as to whether this compiles. I'm actually surprised this has worked so far. We should fix the test harness in the same way. > @@ -235,27 +246,37 @@ static int fuzz_rep_stos( > unsigned long *reps, > struct x86_emulate_ctxt *ctxt) > { > + /* > + * STOS itself may only have an %es segment, but the stos() hook is > reused > + * for CLZERO. > + */ > + assert(is_x86_user_segment(seg)); Perhaps worth looking at ctxt->opcode? > static int fuzz_cmpxchg( > - unsigned int seg, > + enum x86_segment seg, > unsigned long offset, > void *old, > void *new, > unsigned int bytes, > struct x86_emulate_ctxt *ctxt) > { > + assert((unsigned int)seg < x86_seg_none); I guess this could be slightly more strict, not allowing IDTR and TR. Perhaps then also for the write handler. Other than the above (which are only suggestions) Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |