[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/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? Thanks, Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |