[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V3 1/3] xen/mem_access: Support for memory-content hiding
>>> On 07.07.15 at 18:20, <rcojocaru@xxxxxxxxxxxxxxx> wrote: > On 07/07/2015 06:40 PM, Jan Beulich wrote: >>>>> On 07.07.15 at 17:32, <rcojocaru@xxxxxxxxxxxxxxx> wrote: >>> On 07/07/2015 04:27 PM, Jan Beulich wrote: >>>>>>> On 06.07.15 at 17:51, <rcojocaru@xxxxxxxxxxxxxxx> wrote: >>>>> @@ -1552,9 +1556,15 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned >>>>> long gla, >>>>> >>>>> if ( v->arch.vm_event.emulate_flags ) >>>>> { >>>>> - hvm_mem_access_emulate_one((v->arch.vm_event.emulate_flags & >>>>> - MEM_ACCESS_EMULATE_NOWRITE) != 0, >>>>> - TRAP_invalid_op, >>>>> HVM_DELIVER_NO_ERROR_CODE); >>>>> + enum emul_kind kind = EMUL_KIND_NORMAL; >>>>> + >>>>> + if ( v->arch.vm_event.emulate_flags & >>>>> MEM_ACCESS_SET_EMUL_READ_DATA ) >>>>> + kind = EMUL_KIND_SET_CONTEXT; >>>>> + else if ( v->arch.vm_event.emulate_flags & >>>>> MEM_ACCESS_EMULATE_NOWRITE ) >>>> >>>> Is there code in place rejecting both flags being set at once? I don't >>>> recall having seen any... >>> >>> No, there isn't. Both flags can be set at once, but if so only the >>> SET_EMUL_READ_DATA will be honored. >> >> But to me, purely theoretically setting both flags together makes >> sense, and hence this combination, if it isn't working today, >> shouldn't result in unexpected behavior (perhaps differing from >> what a future Xen version might do). > > That's a very good point. I have tried to be as clear about this as > possible in the code by using an enum for the possible emulation kinds, > instead of #defines or something potentially interpretable as bit > setters. But due to the design of the vm_event mechanism it's not > possible to return an error when the response contains OR-ed bits that > don't belong together. > > The behaviour now is that NOWRITE outranks the plain EMULATE, and > SET_CONTEXT outranks them both, and there are no plans to change this in > the future. I suppose a comment stating this clearly belongs in vm_event.h? I would say so, yes. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |