]> xenbits.xensource.com Git - people/pauldu/xen.git/commitdiff
x86/hvm: disallow guest get and set of all ioreq server HVM params hvm-param
authorPaul Durrant <paul.durrant@citrix.com>
Fri, 24 Apr 2015 12:49:58 +0000 (13:49 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 29 Apr 2015 03:04:05 +0000 (11:04 +0800)
A guest has no need to touch these parameters and reading
HVM_PARAM_IOREQ_PFN, HVM_PARAM_BUFIOREQ_PFN, or HVM_PARAM_BUFIOREQ_EVTCHN
may cause Xen to create a default ioreq server where one did not already
exist.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Cc: Keir Fraser <keir@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/hvm/hvm.c

index 5c292c91b6a363a4f7a03152979e84e766ca7d45..ae75da8e21034515cd8f772b68f04dc981d710d5 100644 (file)
@@ -5663,6 +5663,9 @@ static int hvm_allow_set_param(struct domain *d,
     case HVM_PARAM_MEMORY_EVENT_MSR:
     case HVM_PARAM_IOREQ_SERVER_PFN:
     case HVM_PARAM_NR_IOREQ_SERVER_PAGES:
+    case HVM_PARAM_IOREQ_PFN:
+    case HVM_PARAM_BUFIOREQ_PFN:
+    case HVM_PARAM_BUFIOREQ_EVTCHN:
         if ( d == current->domain )
             rc = -EPERM;
         break;
@@ -5878,6 +5881,10 @@ static int hvm_allow_get_param(struct domain *d,
     {
     case HVM_PARAM_IOREQ_SERVER_PFN:
     case HVM_PARAM_NR_IOREQ_SERVER_PAGES:
+    case HVM_PARAM_IOREQ_PFN:
+    case HVM_PARAM_BUFIOREQ_PFN:
+    case HVM_PARAM_BUFIOREQ_EVTCHN:
+    case HVM_PARAM_DM_DOMAIN:
         if ( d == current->domain )
             rc = -EPERM;
         break;