diff options
Diffstat (limited to 'memory_replay')
-rw-r--r-- | memory_replay/NativeInfo.cpp | 3 | ||||
-rw-r--r-- | memory_replay/tests/NativeInfoTest.cpp | 54 |
2 files changed, 53 insertions, 4 deletions
diff --git a/memory_replay/NativeInfo.cpp b/memory_replay/NativeInfo.cpp index ec131ddc..3439a29d 100644 --- a/memory_replay/NativeInfo.cpp +++ b/memory_replay/NativeInfo.cpp @@ -76,7 +76,8 @@ void NativeGetInfo(int smaps_fd, size_t* rss_bytes, size_t* va_bytes) { &name_pos) == 2) { char* map_name = &buf[buf_start + name_pos]; if (strcmp(map_name, "[anon:libc_malloc]") == 0 || strcmp(map_name, "[heap]") == 0 || - strncmp(map_name, "[anon:scudo:", 12) == 0) { + strncmp(map_name, "[anon:scudo:", 12) == 0 || + strncmp(map_name, "[anon:GWP-ASan", 14) == 0) { total_va_bytes += end - start; native_map = true; } else { diff --git a/memory_replay/tests/NativeInfoTest.cpp b/memory_replay/tests/NativeInfoTest.cpp index 845ec043..5c33eb71 100644 --- a/memory_replay/tests/NativeInfoTest.cpp +++ b/memory_replay/tests/NativeInfoTest.cpp @@ -269,7 +269,55 @@ TEST_F(NativeInfoTest, mix_heap_anon) { "KernelPageSize: 4 kB\n" "MMUPageSize: 4 kB\n" "Locked: 0 kB\n" - "Name: [anon:scudo:test]\n"; + "Name: [anon:scudo:test]\n" + "b8f4c000-b8f4d000 rw-p 00000000 00:00 0 [anon:GWP-ASan Guard Page]\n" + "Size: 4 kB\n" + "Rss: 0 kB\n" + "Pss: 0 kB\n" + "Shared_Clean: 0 kB\n" + "Shared_Dirty: 0 kB\n" + "Private_Clean: 0 kB\n" + "Private_Dirty: 0 kB\n" + "Referenced: 0 kB\n" + "Anonymous: 0 kB\n" + "AnonHugePages: 0 kB\n" + "Swap: 0 kB\n" + "KernelPageSize: 4 kB\n" + "MMUPageSize: 4 kB\n" + "Locked: 0 kB\n" + "Name: [anon:GWP-ASan Guard Page]\n" + "b8f4d000-b8f4e000 rw-p 00000000 00:00 0 [anon:GWP-ASan Alive Slot]\n" + "Size: 4 kB\n" + "Rss: 4 kB\n" + "Pss: 0 kB\n" + "Shared_Clean: 0 kB\n" + "Shared_Dirty: 0 kB\n" + "Private_Clean: 0 kB\n" + "Private_Dirty: 0 kB\n" + "Referenced: 0 kB\n" + "Anonymous: 0 kB\n" + "AnonHugePages: 0 kB\n" + "Swap: 0 kB\n" + "KernelPageSize: 4 kB\n" + "MMUPageSize: 4 kB\n" + "Locked: 0 kB\n" + "Name: [anon:GWP-ASan Alive Slot]\n" + "b8f4e000-b8f4f000 rw-p 00000000 00:00 0 [anon:GWP-ASan Guard Page]\n" + "Size: 4 kB\n" + "Rss: 0 kB\n" + "Pss: 0 kB\n" + "Shared_Clean: 0 kB\n" + "Shared_Dirty: 0 kB\n" + "Private_Clean: 0 kB\n" + "Private_Dirty: 0 kB\n" + "Referenced: 0 kB\n" + "Anonymous: 0 kB\n" + "AnonHugePages: 0 kB\n" + "Swap: 0 kB\n" + "KernelPageSize: 4 kB\n" + "MMUPageSize: 4 kB\n" + "Locked: 0 kB\n" + "Name: [anon:GWP-ASan Guard Page]\n"; ASSERT_TRUE(TEMP_FAILURE_RETRY( write(tmp_file_->fd, smaps_data.c_str(), smaps_data.size())) != -1); @@ -278,6 +326,6 @@ TEST_F(NativeInfoTest, mix_heap_anon) { size_t rss_bytes = 1; size_t va_bytes = 1; NativeGetInfo(tmp_file_->fd, &rss_bytes, &va_bytes); - EXPECT_EQ(126976U, rss_bytes); - EXPECT_EQ(147456U, va_bytes); + EXPECT_EQ(131072U, rss_bytes); + EXPECT_EQ(159744U, va_bytes); } |