[compiler-rt] [scudo] Move getResidentPages function (PR #183138)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 13:04:02 PST 2026
================
@@ -75,6 +75,34 @@ TEST(ScudoMapDeathTest, MapWithGuardUnmap) {
MemMap.unmap();
}
+// These death tests only fail when debugging is enabled.
+#if SCUDO_DEBUG && SCUDO_LINUX
+TEST(ScudoMapDeathTest, ResidentPagesNotMapped) {
+ scudo::MemMapT MemMap;
+ EXPECT_DEATH(MemMap.getResidentPages(), "");
+}
+#endif
+
+#if SCUDO_DEBUG && SCUDO_LINUX
+TEST(ScudoMapDeathTest, ResidentPagesFromInvalid) {
+ scudo::MemMapT MemMap;
+ const scudo::uptr Size = 4 * scudo::getPageSizeCached();
+ MemMap.map(/*Addr=*/0U, Size, MappingName);
+ EXPECT_DEATH(MemMap.getResidentPages(0U, Size), "");
+ MemMap.unmap();
+}
+#endif
+
+#if SCUDO_DEBUG && SCUDO_LINUX
+TEST(ScudoMapDeathTest, ResidentPagesSizeInvalid) {
+ scudo::MemMapT MemMap;
+ const scudo::uptr Size = 4 * scudo::getPageSizeCached();
+ MemMap.map(/*Addr=*/0U, Size, MappingName);
+ EXPECT_DEATH(MemMap.getResidentPages(MemMap.getBase(), Size + 1), "");
+ MemMap.unmap();
+}
+#endif
----------------
ChiaHungDuan wrote:
I think the DCHECK in mem_map_base.h is enough for guarding of the out-of-bound access.
https://github.com/llvm/llvm-project/pull/183138
More information about the llvm-commits
mailing list