summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris1000@users.noreply.github.com>2025-11-17 15:25:33 -0800
committerGitHub <noreply@github.com>2025-11-17 15:25:33 -0800
commit7a14ef0293ba8eb6942118e560b8bb7208822291 (patch)
tree55e7039e34a0e22bbfb27ad9819e71095ccfa33a
parent5cf5eb7714ea4d2a9a7775c1a054b9ea6556b78b (diff)
[scudo] Skip test if mlock fails. (#168448)
Some linux versions might not support the mlock call, so skip that part of the test if the mlock fails.
-rw-r--r--compiler-rt/lib/scudo/standalone/tests/map_test.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/compiler-rt/lib/scudo/standalone/tests/map_test.cpp b/compiler-rt/lib/scudo/standalone/tests/map_test.cpp
index afdfe5be85fb..9d1a35c44679 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();