diff options
| author | Kostya Serebryany <kcc@google.com> | 2019-06-13 20:11:06 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2019-06-13 20:11:06 +0000 |
| commit | 6b936d88a46b716977445966e124af9e3d300f52 (patch) | |
| tree | 27dd00d902759d51772b393579d01bb5ca69fcce /compiler-rt/include | |
| parent | ad81d427caaf71f096f85c19a6e3cea749b24051 (diff) | |
| download | bcm5719-llvm-6b936d88a46b716977445966e124af9e3d300f52.tar.gz bcm5719-llvm-6b936d88a46b716977445966e124af9e3d300f52.zip | |
[dfsan] Introduce dfsan_flush().
Summary:
dfsan_flush() allows to restart tain tracking from scratch in the same process.
The primary purpose right now is to allow more efficient data flow tracing
for DFT fuzzing: https://github.com/google/oss-fuzz/issues/1632
Reviewers: pcc
Reviewed By: pcc
Subscribers: delcypher, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D63037
llvm-svn: 363321
Diffstat (limited to 'compiler-rt/include')
| -rw-r--r-- | compiler-rt/include/sanitizer/dfsan_interface.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler-rt/include/sanitizer/dfsan_interface.h b/compiler-rt/include/sanitizer/dfsan_interface.h index b6edf22ad04..c189ee55790 100644 --- a/compiler-rt/include/sanitizer/dfsan_interface.h +++ b/compiler-rt/include/sanitizer/dfsan_interface.h @@ -79,6 +79,12 @@ dfsan_label dfsan_has_label_with_desc(dfsan_label label, const char *desc); /// Returns the number of labels allocated. size_t dfsan_get_label_count(void); +/// Flushes the DFSan shadow, i.e. forgets about all labels currently associated +/// with the application memory. Will work only if there are no other +/// threads executing DFSan-instrumented code concurrently. +/// Use this call to start over the taint tracking within the same procces. +void dfsan_flush(void); + /// Sets a callback to be invoked on calls to write(). The callback is invoked /// before the write is done. The write is not guaranteed to succeed when the /// callback executes. Pass in NULL to remove any callback. |

