aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/libxc/xc_dom_elfloader.c8
-rw-r--r--tools/libxc/xc_hvm_build.c5
2 files changed, 10 insertions, 3 deletions
diff --git a/tools/libxc/xc_dom_elfloader.c b/tools/libxc/xc_dom_elfloader.c
index 4d7b8e0a4d..2e695599b1 100644
--- a/tools/libxc/xc_dom_elfloader.c
+++ b/tools/libxc/xc_dom_elfloader.c
@@ -310,9 +310,15 @@ static int xc_dom_parse_elf_kernel(struct xc_dom_image *dom)
static int xc_dom_load_elf_kernel(struct xc_dom_image *dom)
{
struct elf_binary *elf = dom->private_loader;
+ int rc;
elf->dest = xc_dom_seg_to_ptr(dom, &dom->kernel_seg);
- elf_load_binary(elf);
+ rc = elf_load_binary(elf);
+ if ( rc < 0 )
+ {
+ DOMPRINTF("%s: failed to load elf binary", __FUNCTION__);
+ return rc;
+ }
if ( dom->parms.bsd_symtab )
xc_dom_load_elf_symtab(dom, elf, 1);
return 0;
diff --git a/tools/libxc/xc_hvm_build.c b/tools/libxc/xc_hvm_build.c
index 9831bab192..1fa5658702 100644
--- a/tools/libxc/xc_hvm_build.c
+++ b/tools/libxc/xc_hvm_build.c
@@ -109,8 +109,9 @@ static int loadelfimage(
elf->dest += elf->pstart & (PAGE_SIZE - 1);
/* Load the initial elf image. */
- elf_load_binary(elf);
- rc = 0;
+ rc = elf_load_binary(elf);
+ if ( rc < 0 )
+ PERROR("Failed to load elf binary\n");
munmap(elf->dest, pages << PAGE_SHIFT);
elf->dest = NULL;