[Skiboot] [PATCH v3 02/13] test/mem_region: fix incorrect ibm, os-reserve region length

Stewart Smith stewart at linux.vnet.ibm.com
Thu Aug 24 13:16:52 AEST 2017


We were reserving all of memory up to the heap, which is fine
*unless* the system libc chooses to allocate something in that
block of memory that we use, which means we have overlapping
regions and general pain.

This should fix failing unit tests on some systems (e.g. Debian)

Signed-off-by: Stewart Smith <stewart at linux.vnet.ibm.com>
---
 core/test/run-mem_region_release_unused.c         | 2 +-
 core/test/run-mem_region_release_unused_noalloc.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

---
Changes since v2:
- We don't actually need the heap when allocating nothing, and this
  makes us immune to libc being libc.

diff --git a/core/test/run-mem_region_release_unused.c b/core/test/run-mem_region_release_unused.c
index 886585b296cc..712f98ab1985 100644
--- a/core/test/run-mem_region_release_unused.c
+++ b/core/test/run-mem_region_release_unused.c
@@ -113,7 +113,7 @@ int main(void)
 	/* Use malloc for the heap, so valgrind can find issues. */
 	skiboot_heap.start = (unsigned long)malloc(TEST_HEAP_SIZE);
 	skiboot_heap.len = TEST_HEAP_SIZE;
-	skiboot_os_reserve.len = skiboot_heap.start;
+	skiboot_os_reserve.len = 0;
 
 	dt_root = dt_new_root("");
 	dt_add_property_cells(dt_root, "#address-cells", 2);
diff --git a/core/test/run-mem_region_release_unused_noalloc.c b/core/test/run-mem_region_release_unused_noalloc.c
index 2a9f641148ff..a79485b176bc 100644
--- a/core/test/run-mem_region_release_unused_noalloc.c
+++ b/core/test/run-mem_region_release_unused_noalloc.c
@@ -110,9 +110,10 @@ int main(void)
 	const char *last;
 
 	/* Use malloc for the heap, so valgrind can find issues. */
-	skiboot_heap.start = (unsigned long)malloc(TEST_HEAP_SIZE);
+	skiboot_heap.start = 0;
 	skiboot_heap.len = TEST_HEAP_SIZE;
-	skiboot_os_reserve.len = skiboot_heap.start;
+	skiboot_os_reserve.start = 0;
+	skiboot_os_reserve.len = 0;
 
 	dt_root = dt_new_root("");
 	dt_add_property_cells(dt_root, "#address-cells", 2);
@@ -163,6 +164,5 @@ int main(void)
 	}
 
 	dt_free(dt_root);
-	free((void *)(long)skiboot_heap.start);
 	return 0;
 }
-- 
2.13.5



More information about the Skiboot mailing list