Skip to contentSkip to conversation

kvm tools: Fix test for mmap failure

PATCH Applied Cyrill Gorcunov 2 participants 3 messages Feb 3, 2012 – Feb 4, 2012 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kvm tools: Fix test for mmap failure

On error mmap returns MAP_FAILED so we
need a proper test here.

---
 tools/kvm/hw/pci-shmem.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
tools/kvm/hw/pci-shmem.c +3 -2
Index: linux-2.6.git/tools/kvm/hw/pci-shmem.c
===================================================================
@@ -209,7 +209,7 @@ static void *setup_shmem(const char *key
 		   PROT_READ | PROT_WRITE, MAP_SHARED | MAP_NORESERVE, fd, 0);
 	close(fd);
 
-	if (mem == NULL)
+	if (mem == MAP_FAILED)
 		pr_warning("Failed to mmap shared memory file");
 
 	return mem;
@@ -259,8 +259,9 @@ int pci_shmem__init(struct kvm *kvm)
 	/* Open shared memory and plug it into the guest */
 	mem = setup_shmem(shmem_region->handle, shmem_region->size,
 				shmem_region->create);
-	if (mem == NULL)
+	if (mem == MAP_FAILED)
 		return 0;
+
 	kvm__register_mem(kvm, shmem_region->phys_addr, shmem_region->size,
 			  mem);
 	return 1;
#1 lore raw
Quoted 3 lines · Cyrill Gorcunov

On error mmap returns MAP_FAILED so we
need a proper test here.

Pekka, pick this one instead -- a caller is expecting null/not-null only.

Cyrill
---
kvm tools: Fix test for mmap failure

On error mmap returns MAP_FAILED so we
need a proper test here.

---
 tools/kvm/hw/pci-shmem.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
tools/kvm/hw/pci-shmem.c +4 -3
Index: linux-2.6.git/tools/kvm/hw/pci-shmem.c
===================================================================
@@ -207,10 +207,11 @@ static void *setup_shmem(const char *key
 	}
 	mem = mmap(NULL, len,
 		   PROT_READ | PROT_WRITE, MAP_SHARED | MAP_NORESERVE, fd, 0);
-	close(fd);
-
-	if (mem == NULL)
+	if (mem == MAP_FAILED) {
 		pr_warning("Failed to mmap shared memory file");
+		mem = NULL;
+	}
+	close(fd);
 
 	return mem;
 }
Applied
#2 lore raw
Quoted 2 lines · Cyrill Gorcunov
Quoted 2 lines

On error mmap returns MAP_FAILED so we
need a proper test here.

Quoted 2 lines · Cyrill Gorcunov

Pekka, pick this one instead -- a caller is expecting null/not-null only.

Applied, thanks!