>>> On 05.01.18 at 11:16, <paul.durr...@citrix.com> wrote: >> From: Xen-devel [mailto:xen-devel-boun...@lists.xenproject.org] On Behalf >> Of Paul Durrant >> Sent: 03 January 2018 16:48 >> Ok, thanks. If change back to having the pages owned by the tools domain >> then I guess this will all be avoided anyway. > > I've run into a problem this this, but it may be easily soluable... > > If I pass back the domid of the resource page owner and that owner is the > tools domain, then when the tools domain attempts the mmu_update hypercall it > fails because it has passed its own domid to mmu_update. The failure is > caused by a check in get_pg_owner() which errors own if the passed in domid > == curr->domain_id but, strangely, not if domid == DOMID_SELF. Any idea why > this check is there? To me it looks like it should be safe to specify > curr->domain_id and have get_pg_owner() simply behave as if DOMID_SELF was > passed.
A little while there was some discussion on this general topic (sadly I don't recall the context), and iirc it was in particular Andrew (or George?) who thought it should be the other way around: If DOMID_SELF can be used, the actual domain ID should not be accepted (which iirc is currently the case in some places, but not in others). But ... > The alternative would be to have the acquire_resource hypercall do the check > and pass back DOMID_SELF is the ioreq server dm domain happens to match > currd->domain_id, but that seems a bit icky. ... this wasn't the plan anyway. Instead we had talked of the hypercall returning just a boolean indicator, to distinguish self-owned pages from target-domain-owned ones. The caller is supposed to know the domain ID of the target domain, after all. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel