This is an archive of the discontinued LLVM Phabricator instance.

Repoison the entire ASan chunk if it is not in active use.
ClosedPublic

Authored by alekseyshl on Jan 11 2017, 1:27 PM.

Details

Summary

Repoisoning just the minimal redzones might leave an unpoisoned
gap of the size of the actual redzone minus minimal redzone size.
After ASan activation the actual redzone might be bigger than the minimal
size and ASan allocator assumes that the chunk returned by the common
allocator is either entirely poisoned or entirely not poisoned (it's too
expensive to check the entire chunk or always poison one).

Diff Detail

Repository
rL LLVM

Event Timeline

alekseyshl updated this revision to Diff 84017.Jan 11 2017, 1:27 PM
alekseyshl retitled this revision from to Repoison the entire ASan chunk if it is not in active use..
alekseyshl updated this object.
alekseyshl added a reviewer: eugenis.
alekseyshl added a subscriber: llvm-commits.
eugenis accepted this revision.Jan 11 2017, 1:43 PM
eugenis edited edge metadata.

Looks great, and the test passes on my desktop even.

This revision is now accepted and ready to land.Jan 11 2017, 1:43 PM
alekseyshl updated this revision to Diff 84023.Jan 11 2017, 2:16 PM
alekseyshl edited edge metadata.
  • Extend unit test to step out of the honey pot allocations.
This revision was automatically updated to reflect the committed changes.