From b5b79a12c41b5e76af9d47551027b56f210d9029 Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Wed, 17 Apr 2013 10:57:32 +0000 Subject: xen: allow for explicitly specifying node-affinity Make it possible to pass the node-affinity of a domain to the hypervisor from the upper layers, instead of always being computed automatically. Note that this also required generalizing the Flask hooks for setting and getting the affinity, so that they now deal with both vcpu and node affinity. Signed-off-by: Dario Faggioli Acked-by: Daniel De Graaf Acked-by: George Dunlap Acked-by: Juergen Gross Acked-by: Keir Fraser --- xen/xsm/flask/hooks.c | 6 ++++-- xen/xsm/flask/policy/access_vectors | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'xen/xsm') diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 29a78dd06e..247c8a393b 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -611,10 +611,12 @@ static int flask_domctl(struct domain *d, int cmd) return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__UNPAUSE); case XEN_DOMCTL_setvcpuaffinity: - return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__SETVCPUAFFINITY); + case XEN_DOMCTL_setnodeaffinity: + return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__SETAFFINITY); case XEN_DOMCTL_getvcpuaffinity: - return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__GETVCPUAFFINITY); + case XEN_DOMCTL_getnodeaffinity: + return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__GETAFFINITY); case XEN_DOMCTL_resumedomain: return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__RESUME); diff --git a/xen/xsm/flask/policy/access_vectors b/xen/xsm/flask/policy/access_vectors index 36cbacfa13..fdfc50245a 100644 --- a/xen/xsm/flask/policy/access_vectors +++ b/xen/xsm/flask/policy/access_vectors @@ -104,9 +104,11 @@ class domain # XEN_DOMCTL_destroydomain destroy # XEN_DOMCTL_setvcpuaffinity - setvcpuaffinity +# XEN_DOMCTL_setnodeaffinity + setaffinity # XEN_DOMCTL_getvcpuaffinity - getvcpuaffinity +# XEN_DOMCTL_getnodeaffinity + getaffinity # XEN_DOMCTL_scheduler_op with XEN_DOMCTL_SCHEDOP_getinfo getscheduler # XEN_DOMCTL_getdomaininfo, XEN_SYSCTL_getdomaininfolist -- cgit v1.2.3