[compiler-rt] [scudo] Skip test if mlock fails. (PR #168448)

via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 17 13:50:13 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-compiler-rt-sanitizer

Author: Christopher Ferris (cferris1000)

<details>
<summary>Changes</summary>

Some linux versions might not support the mlock call, so skip that part of the test if the mlock fails.

---
Full diff: https://github.com/llvm/llvm-project/pull/168448.diff


1 Files Affected:

- (modified) compiler-rt/lib/scudo/standalone/tests/map_test.cpp (+11-11) 


``````````diff
diff --git a/compiler-rt/lib/scudo/standalone/tests/map_test.cpp b/compiler-rt/lib/scudo/standalone/tests/map_test.cpp
index afdfe5be85fb6..9d1a35c44679d 100644
--- a/compiler-rt/lib/scudo/standalone/tests/map_test.cpp
+++ b/compiler-rt/lib/scudo/standalone/tests/map_test.cpp
@@ -120,17 +120,17 @@ TEST(ScudoMapTest, Zeroing) {
 #if SCUDO_LINUX
   // Now verify that if madvise fails, the data is still zeroed.
   memset(Data, 1U, MemMap.getCapacity());
-  EXPECT_NE(-1, mlock(Data, MemMap.getCapacity()));
-
-  EXPECT_EQ(1U, Data[0]);
-  EXPECT_EQ(1U, Data[PageSize]);
-  EXPECT_EQ(1U, Data[PageSize * 2]);
-  MemMap.releaseAndZeroPagesToOS(MemMap.getBase(), MemMap.getCapacity());
-  EXPECT_EQ(0U, Data[0]);
-  EXPECT_EQ(0U, Data[PageSize]);
-  EXPECT_EQ(0U, Data[PageSize * 2]);
-
-  EXPECT_NE(-1, munlock(Data, MemMap.getCapacity()));
+  if (mlock(Data, MemMap.getCapacity()) != -1) {
+    EXPECT_EQ(1U, Data[0]);
+    EXPECT_EQ(1U, Data[PageSize]);
+    EXPECT_EQ(1U, Data[PageSize * 2]);
+    MemMap.releaseAndZeroPagesToOS(MemMap.getBase(), MemMap.getCapacity());
+    EXPECT_EQ(0U, Data[0]);
+    EXPECT_EQ(0U, Data[PageSize]);
+    EXPECT_EQ(0U, Data[PageSize * 2]);
+
+    EXPECT_NE(-1, munlock(Data, MemMap.getCapacity()));
+  }
 #endif
 
   MemMap.unmap();

``````````

</details>


https://github.com/llvm/llvm-project/pull/168448


More information about the llvm-commits mailing list