[Xen-devel] [PATCH 2/2] libxc: do proper return code checking of allocator in domain builder

2015-12-01 Thread Juergen Gross
Signed-off-by: Juergen Gross 
---
 tools/libxc/xc_dom_core.c |  7 ++-
 tools/libxc/xc_dom_x86.c  | 10 ++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/libxc/xc_dom_core.c b/tools/libxc/xc_dom_core.c
index d0c6596..841e7dc 100644
--- a/tools/libxc/xc_dom_core.c
+++ b/tools/libxc/xc_dom_core.c
@@ -630,7 +630,7 @@ xen_pfn_t xc_dom_alloc_page(struct xc_dom_image *dom, char 
*name)
 pfn = dom->pfn_alloc_end - dom->rambase_pfn;
 
 if ( xc_dom_chk_alloc_pages(dom, name, 1) )
-return (xen_pfn_t)-1;
+return INVALID_PFN;
 
 DOMPRINTF("%-20s:   %-12s : 0x%" PRIx64 " (pfn 0x%" PRIpfn ")",
   __FUNCTION__, name, start, pfn);
@@ -1107,7 +1107,12 @@ int xc_dom_build_image(struct xc_dom_image *dom)
 if ( dom->arch_hooks->alloc_pgtables(dom) != 0 )
 goto err;
 if ( dom->alloc_bootstack )
+{
 dom->bootstack_pfn = xc_dom_alloc_page(dom, "boot stack");
+if ( dom->bootstack_pfn == INVALID_PFN )
+goto err;
+}
+
 DOMPRINTF("%-20s: virt_alloc_end : 0x%" PRIx64 "",
   __FUNCTION__, dom->virt_alloc_end);
 DOMPRINTF("%-20s: virt_pgtab_end : 0x%" PRIx64 "",
diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index 7c77e69..71b042e 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -537,10 +537,20 @@ static int alloc_magic_pages(struct xc_dom_image *dom)
 {
 /* allocate special pages */
 dom->start_info_pfn = xc_dom_alloc_page(dom, "start info");
+if ( dom->start_info_pfn == INVALID_PFN )
+return -1;
 dom->xenstore_pfn = xc_dom_alloc_page(dom, "xenstore");
+if ( dom->xenstore_pfn == INVALID_PFN )
+return -1;
 dom->console_pfn = xc_dom_alloc_page(dom, "console");
+if ( dom->console_pfn == INVALID_PFN )
+return -1;
 if ( xc_dom_feature_translated(dom) )
+{
 dom->shared_info_pfn = xc_dom_alloc_page(dom, "shared info");
+if ( dom->shared_info_pfn == INVALID_PFN )
+return -1;
+}
 dom->alloc_bootstack = 1;
 
 return 0;
-- 
2.6.2


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH 2/2] libxc: do proper return code checking of allocator in domain builder

2015-12-02 Thread Wei Liu
On Tue, Dec 01, 2015 at 06:14:54PM +0100, Juergen Gross wrote:
> Signed-off-by: Juergen Gross 

Acked-by: Wei Liu 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel