[all-commits] [llvm/llvm-project] 063a6f: [dfsan] Add origin tls/move/read APIs

Z via All-commits all-commits at lists.llvm.org
Thu Feb 18 09:49:03 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 063a6fa87ece8a452daba99df7fb99751ed10165
      https://github.com/llvm/llvm-project/commit/063a6fa87ece8a452daba99df7fb99751ed10165
  Author: Jianzhou Zhao <jianzhouzh at google.com>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan.h

  Log Message:
  -----------
  [dfsan] Add origin tls/move/read APIs

This is a part of https://reviews.llvm.org/D95835.

Added
1) TLS storage
2) a weak global used to set by instrumented code
3) move origins

These APIs are similar to MSan's APIs
  https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/msan/msan_poisoning.cpp
We first improved MSan's by https://reviews.llvm.org/D94572 and https://reviews.llvm.org/D94552.
So the correctness has been verified by MSan.
After the DFSan instrument code is ready, we wil be adding more test
cases

4) read

To reduce origin tracking cost, some of the read APIs return only
the origin from the first taint data.

Note that we did not add origin set APIs here because they are related
to code instrumentation, will be added later with IR transformation
code.

Reviewed-by: morehouse

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




More information about the All-commits mailing list