mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2024-12-18 04:14:23 -05:00
mte: add comment about the reserved slab canary value
This commit is contained in:
parent
f16ef601d4
commit
7a6dbd8152
@ -491,7 +491,11 @@ static void set_slab_canary_value(UNUSED struct slab_metadata *metadata, UNUSED
|
||||
metadata->canary_value = get_random_u64(rng) & canary_mask;
|
||||
#ifdef HAS_ARM_MTE
|
||||
if (unlikely(metadata->canary_value == 0)) {
|
||||
metadata->canary_value = 0x100;
|
||||
// 0 is reserved to support disabling MTE at runtime (this is required on Android).
|
||||
// When MTE is enabled, writing and reading of canaries is disabled, i.e. canary remains zeroed.
|
||||
// After MTE is disabled, canaries that are set to 0 are ignored, since they wouldn't match
|
||||
// slab's metadata->canary_value.
|
||||
metadata->canary_value = 0x100; // 0x100 was chosen as the smallest acceptable value
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user