[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH][XEN] construct_dom0: Initialize variable before use


Attached patch initializes d->arch.physaddr_bitsize properly for a
64bit Dom0/64bit hypervisor.
This bug has been found when booting a NetBSD/Xen Dom0 with more
than 4GB RAM.

Without this fix, d->arch.physaddr_bitsize is 0 in 
domain_clamp_alloc_bitsize(). This causes all attempts to 
XENMEM_increase_reservation with bits > 0 to fail. More precisely,
__alloc_domheap_pages() returns NULL.
This impacts Xen heap allocation in general.
Question: How did that work on Linux Dom0?

I think, initializing physaddr_bitsize to 64 unconditionally is ok because in
construct_dom0() it is overridden with the proper value when you boot
64bit hypervisor with a 32bit Dom0. If the hypervisor is not 64bit,
physaddr_bitsize isn't used at all anyway.

Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>

AMD Saxony, Dresden, Germany
Operating System Research Center

Legal Information:
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

Attachment: xen_dom0.diff
Description: Text document

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.