[scudo] Disable secondary cache-unmap tests on arm32.

Looks like secondary pointers don't get unmapped on one of the arm32
bots. In the interests of landing some dependent patches, disable this
test on arm32 so that it can be tested in isolation later.

Reviewed By: cryptoad, vitalybuka

Split from differential patchset (1/2): https://reviews.llvm.org/D102648
This commit is contained in:
Mitch Phillips 2021-05-20 10:56:47 -07:00
parent d22b27cfde
commit 577a80bff8

View File

@ -32,9 +32,16 @@ template <typename Config> static void testSecondaryBasic(void) {
memset(P, 'A', Size);
EXPECT_GE(SecondaryT::getBlockSize(P), Size);
L->deallocate(scudo::Options{}, P);
// TODO(hctim): Looks like the secondary pointer doesn't get unmapped on arm32.
// It's not clear whether this is a kernel issue, or something in EXPECT_DEATH()
// is mmap-ing something that uses the same vaddr space. For now, just disable
// the test on arm32 until we can debug it further.
#ifndef __arm__
// If the Secondary can't cache that pointer, it will be unmapped.
if (!L->canCache(Size))
EXPECT_DEATH(memset(P, 'A', Size), "");
#endif // __arm__
const scudo::uptr Align = 1U << 16;
P = L->allocate(scudo::Options{}, Size + Align, Align);