This is an archive of the discontinued LLVM Phabricator instance.

[asan] Enable 48-bit VMA support on aarch64
ClosedPublic

Authored by zatrazz on Jul 7 2016, 9:18 AM.

Details

Summary

This patch adds 48-bits VMA support for asan on aarch64. The current
47-bit mask is not suffice since on aarch64 kernel with 48-bit vma
(default on ubuntu 16.04) the process may use full VMA range as:

[...]
ffffa39a7000-ffffa39a8000 r--p 00000000 00:00 0 [vvar]
ffffa39a8000-ffffa39a9000 r-xp 00000000 00:00 0 [vdso]
ffffa39a9000-ffffa39aa000 r--p 0001c000 08:02 13631554 /lib/aarch64-linux-gnu/ld-2.23.so
ffffa39aa000-ffffa39ac000 rw-p 0001d000 08:02 13631554 /lib/aarch64-linux-gnu/ld-2.23.so
ffffc2227000-ffffc2248000 rw-p 00000000 00:00 0 [stack]

Diff Detail

Event Timeline

zatrazz updated this revision to Diff 63084.Jul 7 2016, 9:18 AM
zatrazz retitled this revision from to [asan] Enable 48-bit VMA support on aarch64.
zatrazz updated this object.
zatrazz added reviewers: kcc, pcc, eugenis, samsonov, rengolin.
zatrazz added a project: Restricted Project.
zatrazz added a subscriber: llvm-commits.
rengolin edited edge metadata.Jul 7 2016, 9:24 AM

Do *all* tests pass with this?

Do *all* tests pass with this?

It fixes only the asan/lsan tests on 48 bits vma kernel. Other sanitizers (dfsan, tsan, msan) still fail.

aizatsky accepted this revision.Jul 7 2016, 12:59 PM
aizatsky added a reviewer: aizatsky.
This revision is now accepted and ready to land.Jul 7 2016, 12:59 PM
zatrazz closed this revision.Jul 18 2016, 10:24 AM