| Index: syzygy/agent/asan/block.h
|
| diff --git a/syzygy/agent/asan/block.h b/syzygy/agent/asan/block.h
|
| index b5e5637074ff368255ee169495993fb948b9f0fd..a2f8e587c0d433e9a4485d5043cb9dd309af38e6 100644
|
| --- a/syzygy/agent/asan/block.h
|
| +++ b/syzygy/agent/asan/block.h
|
| @@ -112,7 +112,7 @@ static const uint8_t kBlockFloodFillByte = 0xFD;
|
|
|
| // The number of bits in the checksum field. This is parameterized so that
|
| // it can be referred to by the checksumming code.
|
| -static const size_t kBlockHeaderChecksumBits = 13;
|
| +static const size_t kBlockHeaderChecksumBits = 14;
|
|
|
| // The state of an Asan block. These are in the order that reflects the typical
|
| // lifespan of an allocation.
|
| @@ -146,8 +146,8 @@ struct BlockHeader {
|
| // The checksum of the entire block. The semantics of this vary with the
|
| // block state.
|
| unsigned checksum : kBlockHeaderChecksumBits;
|
| - // If this bit is set then the block is a nested block.
|
| - unsigned is_nested : 1;
|
| + // This is implicitly a BlockState value.
|
| + unsigned state : 2;
|
| // If this bit is positive then header padding is present. The size of the
|
| // header padding is encoded in the padding itself.
|
| unsigned has_header_padding : 1;
|
| @@ -156,8 +156,6 @@ struct BlockHeader {
|
| // will be encoded in these bytes. Otherwise it is implicit as
|
| // (kShadowRatio / 2) - (body_size % (kShadowRatio / 2)).
|
| unsigned has_excess_trailer_padding : 1;
|
| - // This is implicitly a BlockState value.
|
| - unsigned state : 2;
|
| // The size of the body of the allocation, in bytes.
|
| unsigned body_size : 30;
|
| };
|
| @@ -287,9 +285,6 @@ struct BlockInfo {
|
| uint8_t* right_redzone_pages;
|
| uint32_t right_redzone_pages_size;
|
|
|
| - // Indicates if the block is nested.
|
| - bool is_nested;
|
| -
|
| // Convenience accessors to various parts of the block. All access should be
|
| // gated through these as they provide strong bounds checking in debug
|
| // builds.
|
| @@ -375,13 +370,11 @@ bool BlockPlanLayout(uint32_t chunk_size,
|
| // @param allocation The allocation to be filled in. This must be of
|
| // |layout.block_size| in size, and be aligned with
|
| // |layout.block_alignment|.
|
| -// @param is_nested Indicates if the block is nested.
|
| // @param block_info Will be filled in with pointers to the various portions
|
| // of the block. May be NULL.
|
| // @note The pages containing the block must be writable and readable.
|
| void BlockInitialize(const BlockLayout& layout,
|
| void* allocation,
|
| - bool is_nested,
|
| BlockInfo* block_info);
|
|
|
| // Converts between the two BlockInfo formats. This will work as long as the
|
|
|