|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [V2 PATCH 7/8] pvh dom0: Add and remove foreign pages
On 11/25/2013 07:32 PM, Mukesh Rathor wrote: On Mon, 25 Nov 2013 14:00:35 -0500 Daniel De Graaf <dgdegra@xxxxxxxxxxxxx> wrote:On 11/25/2013 04:03 AM, Jan Beulich wrote:On 23.11.13 at 01:03, Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> wrote: This is true unless you are creating a system with multiple control domains or with a control domain that gives up privileges after setting up some initial boot domains that contain secrets (disk/network encryption, vTPMs, etc). Preventing the control domain from being able to access pages in such domains means a compromised control domain does not compromise the entire system. If no, can you please give some hints on which xsm call I need to use. Glancing at xsm file, I can't figure quickly.... thanks mukesh
This will either need a new XSM hook or a change to the prototype of the
xsm_add_to_physmap hook to add a new parameter for the foreign domain; the
latter seems the simplest change, passing NULL for pg_src when not using
XENMAPSPACE_gmfn_foreign. The hook would look something like this:
int xsm_add_to_physmap(XSM_DEFAULT_ARG struct domain *curr,
struct domain *target, struct domain *pg_src)
{
int rc;
XSM_ASSERT_ACTION(XSM_TARGET);
rc = xsm_default_action(action, curr, target);
if ( pg_src && !rc )
rc = xsm_default_action(action, curr, pg_src);
return rc;
}
with the corresponding FLASK hook:
{ ...
rc = domain_has_perm(curr, target, SECCLASS_MMU, MMU__PHYSMAP);
if ( pg_src && !rc )
rc = domain_has_perm(curr, pg_src, SECCLASS_MMU,
MMU__MAP_READ|MMU__MAP_WRITE);
}
This will require pulling the get_pg_owner(foreign_domid) up a few levels
in order to have the struct domain* available instead of the domid, but
that doesn't seem like it would cause any issues.
--
Daniel De Graaf
National Security Agency
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |