vmm: Fix leaked mapping
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 8 Sep 2017 17:43:26 +0000 (13:43 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 8 Sep 2017 17:43:26 +0000 (13:43 -0400)
We merged commit 51ddba8a6354 ("vmm: Added helper functions to
user/vmm/memory.c") right before this was fixed.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/vmm/memory.c

index 2e5e474..8023da7 100644 (file)
@@ -182,6 +182,8 @@ bool mmap_file(const char *path, uintptr_t memstart, uintptr_t memsize,
 
        if ((uint64_t) addr != (uint64_t) memstart) {
                fprintf(stderr, "Could not mmap %s correctly.\n", path);
+               if (munmap(addr, memsize) == -1)
+                       perror("Failed to unmap memory; leaking a mapping");
                return false;
        }
        return true;