> -----Original Message----- > From: Jan Beulich [mailto:jbeul...@suse.com] > Sent: 05 January 2018 10:29 > To: Paul Durrant <paul.durr...@citrix.com> > Cc: JulienGrall <julien.gr...@arm.com>; Andrew Cooper > <andrew.coop...@citrix.com>; George Dunlap > <george.dun...@citrix.com>; Ian Jackson <ian.jack...@citrix.com>; Wei Liu > <wei.l...@citrix.com>; StefanoStabellini <sstabell...@kernel.org>; xen- > de...@lists.xenproject.org; Tim (Xen.org) <t...@xen.org> > Subject: RE: [Xen-devel] [PATCH v17 06/11] x86/hvm/ioreq: add a new > mappable resource type... > > >>> 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.
Ah, ok. If it's only necessary to distinguish between self-owned and target-owned then that will be fine. My current test series just makes the domid an IN/OUT parameter and re-writes it if necessary. I'll switch to using a flag to avoid the issue as you suggest. Paul > > Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel