[all-commits] [llvm/llvm-project] 04f591: [gwp-asan] Initialize AllocatorVersionMagic at run...

Kostya Kortchinsky via All-commits all-commits at lists.llvm.org
Mon Sep 27 13:50:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 04f5913395de23a5f6745156021ab10a4a0039de
      https://github.com/llvm/llvm-project/commit/04f5913395de23a5f6745156021ab10a4a0039de
  Author: Kostya Kortchinsky <kostyak at google.com>
  Date:   2021-09-27 (Mon, 27 Sep 2021)

  Changed paths:
    M compiler-rt/lib/gwp_asan/common.h
    M compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp

  Log Message:
  -----------
  [gwp-asan] Initialize AllocatorVersionMagic at runtime

GWP-ASan's `AllocatorState` was recently extended with a
`AllocatorVersionMagic` structure required so that GWP-ASan bug reports
can be understood by tools at different versions.

On Fuchsia, this in included in the `scudo::Allocator` structure, and
by having non-zero initializers, this effectively moved the static
allocator structure from the `.bss` segment to the `.data` segment, thus
increasing (significantly) the size of the libc.

This CL proposes to initialize the structure with its magic numbers at
runtime, allowing for the allocator to go back into the `.bss` segment.

I will work on adding a test on the Scudo side to ensure that this type
of changes get detected early on. Additional work is also needed to
reduce the footprint of the (large) memory-tagging related structures
that are currently part of the allocator.

Differential Revision: https://reviews.llvm.org/D110575




More information about the All-commits mailing list