|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 01/17] x86emul: support most memory accessing MMX/SSE{, 2, 3} insns
On 01/03/17 13:50, Jan Beulich wrote:
>
>> This seems rather inconsistent at the moment.
> Does it? At least in this patch I can't spot an inconsistency.
I meant in general across the current use of stubs, but perhaps that is
just because of the transition to the new model.
>
>>> @@ -6159,6 +6551,76 @@ x86_emulate(
>>> goto cannot_emulate;
>>> }
>>>
>>> + if ( state->simd_size )
>>> + {
>>> +#ifdef __XEN__
>>> + uint8_t *buf = stub.ptr;
>>> +#else
>>> + uint8_t *buf = get_stub(stub);
>>> +#endif
>> Is this stale? Everywhere else is just get_stub() without any ifdefary.
> No, it's not stale: In the hypervisor we can't use get_stub() a
> second time, or else we'll invoke map_domain_page() a second
> time, discarding (and hence leaking) the result of the earlier
> one.
As an aside, shouldn't we refcount (and at least assert) that we don't
map the same page twice, to avoid leaks?
> And in the harness using get_stub() is the cleanest way
> to get hold of the pointer again. I've considered and tried
> several variants, but I couldn't come up with an approach not
> needing any #ifdef - if you see a way, let me know.
As it drops out in the following patch, I am not overly fussed.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |