[all-commits] [llvm/llvm-project] 54ddd0: [scudo] Update header without read-modify-write op...

ChiaHungDuan via All-commits all-commits at lists.llvm.org
Thu Sep 28 13:05:48 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 54ddd0762bd0dac31c9e2732bf807cea1785f091
      https://github.com/llvm/llvm-project/commit/54ddd0762bd0dac31c9e2732bf807cea1785f091
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2023-09-28 (Thu, 28 Sep 2023)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/chunk.h
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/report.cpp
    M compiler-rt/lib/scudo/standalone/report.h
    M compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/report_test.cpp

  Log Message:
  -----------
  [scudo] Update header without read-modify-write operation (#66955)

We used to update the deallocated block with
atomic_compare_exchange_strong to ensure the concurrent double-free will
be detected. However, this operation incurs huge performance overhead
which takes over 50% execution time in deallocate(). Given that we
already have the checksum to guard the most double-free cases and other
block verifications in the primary allocator, use atomic-store instead.




More information about the All-commits mailing list