diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-07-24 11:18:53 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-07-24 11:18:53 +0100 |
commit | 28f8960f3e0417f1ba8d916ed2d04778d009aa68 (patch) | |
tree | 36b3315a67fab36c24e772d2c50499b91bd02380 /tools/libxc/xc_linux.c | |
parent | ce29ad450cc37e90052059118c075f80f79c9838 (diff) | |
download | xen-28f8960f3e0417f1ba8d916ed2d04778d009aa68.tar.gz xen-28f8960f3e0417f1ba8d916ed2d04778d009aa68.tar.bz2 xen-28f8960f3e0417f1ba8d916ed2d04778d009aa68.zip |
libxc: Fix after xc_map_foreign_ranges() patch.
Must munmap() region after loading elf image.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'tools/libxc/xc_linux.c')
-rw-r--r-- | tools/libxc/xc_linux.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/libxc/xc_linux.c b/tools/libxc/xc_linux.c index 6df3e9957d..2480b3ce72 100644 --- a/tools/libxc/xc_linux.c +++ b/tools/libxc/xc_linux.c @@ -123,16 +123,16 @@ void *xc_map_foreign_ranges(int xc_handle, uint32_t dom, privcmd_mmap_entry_t entries[], int nentries) { privcmd_mmap_t ioctlx; - int i, rc; void *addr; addr = mmap(NULL, size, prot, MAP_SHARED, xc_handle, 0); - if (addr == MAP_FAILED) + if ( addr == MAP_FAILED ) goto mmap_failed; - for (i = 0; i < nentries; i++) { - entries[i].va = (uintptr_t)addr + (i * chunksize); + for ( i = 0; i < nentries; i++ ) + { + entries[i].va = (unsigned long)addr + (i * chunksize); entries[i].npages = chunksize >> PAGE_SHIFT; } @@ -141,14 +141,14 @@ void *xc_map_foreign_ranges(int xc_handle, uint32_t dom, ioctlx.entry = entries; rc = ioctl(xc_handle, IOCTL_PRIVCMD_MMAP, &ioctlx); - if (rc) + if ( rc ) goto ioctl_failed; return addr; ioctl_failed: rc = munmap(addr, size); - if (rc == -1) + if ( rc == -1 ) ERROR("%s: error in error path\n", __FUNCTION__); mmap_failed: |