libxc: fix xc_memory_op(): handles XENMEM_remove_from_phsymap case.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 9 Sep 2008 14:02:32 +0000 (15:02 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 9 Sep 2008 14:02:32 +0000 (15:02 +0100)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
tools/libxc/xc_private.c

index 44cd9cb92beee9c9f8215602b34ef7e3c02a856d..b37978afe8120bd9e51107c2f4c3aa82d6e1beee 100644 (file)
@@ -307,6 +307,13 @@ int xc_memory_op(int xc_handle,
             goto out1;
         }
         break;
+    case XENMEM_remove_from_physmap:
+        if ( lock_pages(arg, sizeof(struct xen_remove_from_physmap)) )
+        {
+            PERROR("Could not lock");
+            goto out1;
+        }
+        break;
     case XENMEM_current_reservation:
     case XENMEM_maximum_reservation:
     case XENMEM_maximum_gpfn:
@@ -340,6 +347,9 @@ int xc_memory_op(int xc_handle,
     case XENMEM_add_to_physmap:
         unlock_pages(arg, sizeof(struct xen_add_to_physmap));
         break;
+    case XENMEM_remove_from_physmap:
+        unlock_pages(arg, sizeof(struct xen_remove_from_physmap));
+        break;
     case XENMEM_current_reservation:
     case XENMEM_maximum_reservation:
     case XENMEM_maximum_gpfn: