This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH][HVM] HVM guest creation crashing with 1 MB of guest

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH][HVM] HVM guest creation crashing with 1 MB of guest memory
From: "Andre Przywara" <andre.przywara@xxxxxxx>
Date: Fri, 04 May 2007 15:47:26 +0200
Delivery-date: Fri, 04 May 2007 06:46:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20060919)

When an HVM guest is started and assigned exactly one Megabyte of RAM, XEN will crash due to a overflow in building the E820 map in line 90 of tools/libxc/xc_hvm_build.c:
e820entry[nr_map].size = mem_size - 0x100000 - PAGE_SIZE * 3;
If memsize is one MB, the result will be negative (and the member is unsigned). As I don't think this is worth fixing here, I simply increased the minimal required memory for guest from zero to one Megabyte. Could someone check the effect on paravirtualized guests?


Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>

Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany

----to satisfy European Law for business letters:
AMD Saxony Limited Liability Company & Co. KG
Sitz (Geschäftsanschrift): Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland
Registergericht Dresden: HRA 4896
vertretungsberechtigter Komplementär: AMD Saxony LLC (Sitz Wilmington, Delaware, USA)
Geschäftsführer der AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
diff -r 3a5722420de7 tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Thu May 03 19:25:47 2007 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Fri May 04 15:41:15 2007 +0200
@@ -360,9 +360,9 @@ class XendConfig(dict):
         if not self["memory_dynamic_max"] <= self["memory_static_max"]:
             raise XendConfigError("memory_dynamic_max must be less " \
                                   "than or equal to memory_static_max")
-        if not self["memory_dynamic_max"] > 0:
+        if not self["memory_dynamic_max"] > 1048576:
             raise XendConfigError("memory_dynamic_max must be greater " \
-                                  "than zero")
+                                  "than one MB")
         if not self["memory_static_max"] > 0:
             raise XendConfigError("memory_static_max must be greater " \
                                   "than zero")
Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>