diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2020-07-22 13:45:14 -0700 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2020-07-23 15:09:13 -0700 |
commit | b83417aa7e26ca76c433ec5befdecd5c571408a6 (patch) | |
tree | db82b138051809b291e934609d4ab41cc93a0d03 /llvm/lib/Support/Compression.cpp | |
parent | 3ac828b8f7a848ab1d801fcacc515b51a9cb684a (diff) | |
download | llvm-b83417aa7e26ca76c433ec5befdecd5c571408a6.zip llvm-b83417aa7e26ca76c433ec5befdecd5c571408a6.tar.gz llvm-b83417aa7e26ca76c433ec5befdecd5c571408a6.tar.bz2 |
scudo: Interleave odd and even tags for adjacent blocks.
This guarantees that we will detect a buffer overflow or underflow
that overwrites an adjacent block. This spatial guarantee is similar
to the temporal guarantee that we provide for immediate use-after-free.
Enabling odd/even tags involves a tradeoff between use-after-free
detection and buffer overflow detection. Odd/even tags make it more
likely for buffer overflows to be detected by increasing the size of
the guaranteed "red zone" around the allocation, but on the other
hand use-after-free is less likely to be detected because the tag
space for any particular chunk is cut in half. Therefore we introduce
a tuning setting to control whether odd/even tags are enabled.
Differential Revision: https://reviews.llvm.org/D84361
Diffstat (limited to 'llvm/lib/Support/Compression.cpp')
0 files changed, 0 insertions, 0 deletions