Loading...
--- libmalloc/libmalloc-474.0.13/tests/nano_tests.c
+++ libmalloc/libmalloc-792.41.1/tests/nano_tests.c
@@ -88,17 +88,17 @@
 T_GLOBAL_META(T_META_RUN_CONCURRENTLY(true));
 
 T_DECL(nano_active_test, "Test that Nano is activated",
-	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_XZONE)
-{
-#if CONFIG_NANOZONE
-	if (getenv("MallocSecureAllocator")) {
-		T_ASSERT_EQ(malloc_engaged_nano(), 0, "Secure allocator engaged");
-	} else {
+		T_META_ENVVAR("MallocNanoZone=1"), T_META_ENVVAR("MallocProbGuard=0"),
+		T_META_TAG_ALL_ALLOCATORS, T_META_TAG_VM_PREFERRED)
+{
+#if CONFIG_NANOZONE
+	T_ASSERT_NE(malloc_engaged_nano(), 0, "Nano mode engaged");
+
+	if (!malloc_engaged_secure_allocator()) {
 		void *ptr = malloc(16);
 		T_LOG("Nano ptr is %p\n", ptr);
 		T_ASSERT_EQ(NANOZONE_SIGNATURE, (uint64_t)((uintptr_t)ptr) >> SHIFT_NANO_SIGNATURE,
 				"Nanozone is active");
-		T_ASSERT_NE(malloc_engaged_nano(), 0, "Nanozone engaged");
 		free(ptr);
 	}
 #else // CONFIG_NANOZONE
@@ -107,11 +107,13 @@
 }
 
 T_DECL(nano_enumerator_test, "Test the Nanov2 enumerator",
-	   T_META_ENVVAR("MallocNanoZone=V2"), T_META_TAG_XZONE)
-{
-#if CONFIG_NANOZONE
-	if (getenv("MallocSecureAllocator")) {
-		T_ASSERT_EQ(malloc_engaged_nano(), 0, "Secure allocator engaged");
+		T_META_ENVVAR("MallocNanoZone=V2"), T_META_ENVVAR("MallocProbGuard=0"),
+		T_META_TAG_ALL_ALLOCATORS, T_META_TAG_VM_PREFERRED)
+{
+#if CONFIG_NANOZONE
+	if (malloc_engaged_secure_allocator()) {
+		T_ASSERT_NE(malloc_engaged_nano(), 0,
+				"Secure allocator nano mode engaged");
 	} else {
 		T_ASSERT_EQ(malloc_engaged_nano(), 2, "Nanozone V2 engaged");
 	}
@@ -212,7 +214,8 @@
 const char * const data = "abcdefghijklm";
 
 T_DECL(realloc_nano_size_class_change, "realloc with size class change",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void *ptr = malloc(16);
@@ -236,7 +239,8 @@
 }
 
 T_DECL(realloc_nano_ptr_change, "realloc with pointer change",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void *ptr = malloc(32);
@@ -255,7 +259,8 @@
 }
 
 T_DECL(realloc_nano_to_other, "realloc with allocator change (nano)",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void *ptr = malloc(32);					// From Nano
@@ -275,7 +280,8 @@
 }
 
 T_DECL(realloc_nano_to_zero_size, "realloc with target size zero",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void *ptr = malloc(16);
@@ -293,7 +299,8 @@
 }
 
 T_DECL(realloc_nano_shrink, "realloc to smaller size",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void *ptr = malloc(64);
@@ -319,7 +326,8 @@
 }
 
 T_DECL(nano_memalign_trivial, "Test that nano serves trivial memalign allocations",
-	   T_META_ENVVAR("MallocNanoZone=1"))
+	   T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	size_t size = 16;
@@ -347,7 +355,8 @@
 
 T_DECL(overspill_arena, "force overspill of an arena",
 	   T_META_ENVVAR("MallocNanoZone=V2"),
-	   T_META_ENVVAR("MallocGuardEdges=all"))
+	   T_META_ENVVAR("MallocGuardEdges=all"),
+	   T_META_TAG_VM_PREFERRED, T_META_TAG_MAGAZINE_ONLY)
 {
 #if CONFIG_NANOZONE
 	void **ptrs = calloc(ALLOCS_PER_ARENA, sizeof(void *));
@@ -392,7 +401,8 @@
 
 #if NANOV2_MULTIPLE_REGIONS
 T_DECL(overspill_region, "force overspill of a region",
-	   T_META_ENVVAR("MallocNanoZone=V2"))
+	   T_META_ENVVAR("MallocNanoZone=V2"), T_META_TAG_VM_PREFERRED,
+	   T_META_TAG_MAGAZINE_ONLY)
 {
 	void **ptrs = calloc(ALLOCS_PER_REGION, sizeof(void *));
 	T_QUIET; T_ASSERT_NOTNULL(ptrs, "Unable to allocate pointers");
@@ -428,7 +438,9 @@
 
 T_DECL(overspill_nanozone, "force overspill of nano zone",
 		T_META_ENVVAR("MallocNanoZone=V2"),
-		T_META_ENVVAR("MallocNanoMaxRegion=1"))
+		T_META_ENVVAR("MallocNanoMaxRegion=1"),
+		T_META_ENVVAR("MallocProbGuard=0"),
+		T_META_TAG_VM_PREFERRED, T_META_TAG_MAGAZINE_ONLY)
 {
 	int index;
 	bool spilled_to_tiny = false;
@@ -448,17 +460,17 @@
 	T_QUIET; T_ASSERT_TRUE(malloc_zone_claimed_address(nano_zone, ptrs[0]), 
 			"Initial allocation did not come from nano zone");
 	T_QUIET; T_ASSERT_FALSE(malloc_zone_claimed_address(helper_zone, ptrs[0]), 
-			"Initial allocation came from scalable zone");
+			"Initial allocation came from helper zone");
 
 	for (index = 1; index < (nano_max_allocations); index++) {
 		ptrs[index] = malloc(256);
 		if (malloc_zone_claimed_address(helper_zone, ptrs[index])) {
-			T_LOG("Spilled to scalable zone");
+			T_LOG("Spilled to helper zone");
 			spilled_to_tiny = true;
 			break;
 		}
 	}
-	T_EXPECT_TRUE(spilled_to_tiny, "Allocation falls through to scalable zone");
+	T_EXPECT_TRUE(spilled_to_tiny, "Allocation falls through to helper zone");
 
 	T_LOG("Freeing %d pointers", index);
 	for (int i = 0; i < MIN(index + 1, nano_max_allocations); i++) {
@@ -537,7 +549,8 @@
 T_DECL(region_holes, "ensure correct handling of holes between regions",
 		T_META_ENVVAR("MallocNanoZone=V2"),
 		// Region reservation does not allow for holes between regions
-		T_META_ENABLED(!CONFIG_NANO_RESERVE_REGIONS))
+		T_META_ENABLED(!CONFIG_NANO_RESERVE_REGIONS),
+		T_META_TAG_VM_NOT_PREFERRED, T_META_TAG_MAGAZINE_ONLY)
 {
 	srandom(time(NULL));