[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86emul: refine VME/PVI early #GP check
>>> On 10.12.18 at 14:28, <andrew.cooper3@xxxxxxxxxx> wrote: > On 10/12/2018 11:32, Jan Beulich wrote: >> In commit efe9cba66c ("x86emul: VME and PVI modes require a #GP(0) check >> first thing") I neglected the fact that the retire flags get zapped only >> in x86_decode(), which hasn't been invoked yet at the point of the #GP(0) >> check added. >> >> Ahead of the other explicit return (rather than "goto") path use an >> explicit return here too, to make the flow more obvious. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > > How did you discover this issue? AFL discovered it for me. > I ask because given the comment, its > quite likely that you'll hit the assert in x86_emul_hw_exception() Hmm, good point: I'll need to call x86_emul_reset_event() as well. > Why is the zeroing code in decode rather than emulate? Because x86_decode() has another caller. Best I can suggest is that we make x86_emulate() and x86_decode_insn() call a shared helper function doing the setup. > I'm tempted to > suggest that we fix this by requiring that callers pass in a suitably > initialised ctxt. We've discussed requiring callers to set state, but I continue to think that it makes no sense to require this for output-only state. Furthermore what would callers set it to? Zeroing everything would already imply knowledge of the internal workings. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |