This is an archive of the discontinued LLVM Phabricator instance.

Corrected D27428: Do not use the alignment-rounded-up size with secondary
ClosedPublic

Authored by cryptoad on Dec 12 2016, 10:43 AM.

Details

Summary

I atually had an integer overflow on 32-bit with D27428 that didn't reproduce
locally, as the test servers would manage allocate addresses in the 0xffffxxxx
range, which led to some issues when rounding addresses.

At this point, I feel that Scudo could benefit from having its own combined
allocator, as we don't get any benefit from the current one, but have to work
around some hurdles (alignment checks, rounding up that is no longer needed,
extraneous code).

Diff Detail

Repository
rL LLVM

Event Timeline

cryptoad updated this revision to Diff 81107.Dec 12 2016, 10:43 AM
cryptoad retitled this revision from to Corrected D27428: Do not use the alignment-rounded-up size with secondary.
cryptoad updated this object.
cryptoad updated this revision to Diff 81109.Dec 12 2016, 10:48 AM

Additional comments.

cryptoad updated this object.Dec 12 2016, 10:50 AM
cryptoad added reviewers: kcc, alekseyshl.
cryptoad added a subscriber: llvm-commits.
alekseyshl edited edge metadata.Dec 13 2016, 10:41 AM

LGTM

I agree, it feels like the hierarchy of allocators got entangled a bit too much and might benefit from a refactoring, considering our current requirements.

This revision was automatically updated to reflect the committed changes.