Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
What's the motivation for this feature?
I think discard already returns 0 labels. When do we also need to store 0 labels?
| compiler-rt/test/dfsan/Inputs/force_zero_abilist.txt | ||
|---|---|---|
| 1 | Why a separate abilist.txt? | |
| compiler-rt/test/dfsan/force_zero.c | ||
| 25 | Wouldn't this also pass if we used uninstrumented or discard in the ABI list? | |
The motivation for this change is to remove taint in functions which write out their return data...
e.g.
void GenerateData(char* out_buf, int out_buf_len) { ... }This feature allows us to untaint the data produced by this function.
| compiler-rt/test/dfsan/Inputs/force_zero_abilist.txt | ||
|---|---|---|
| 1 | For separate test. Happy to combine them if you prefer. | |
| compiler-rt/test/dfsan/force_zero.c | ||
| 25 | For the return value yes, but not for the shadow of the contents of the the out pointer. | |
Please also update the documentation: https://clang.llvm.org/docs/DataFlowSanitizer.html#abi-list
| compiler-rt/test/dfsan/Inputs/force_zero_abilist.txt | ||
|---|---|---|
| 1 | Yes, let's combine them for simplicity. | |
| llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp | ||
| 150 | Nit: Could we make the distinction between uninstrumented and instrumented functions a little clearer? I think we only use functional and discard with uninstrumented, while we only use force_zero_labels with instrumented. | |
| 1212 | For consistency. | |
| llvm/test/Instrumentation/DataFlowSanitizer/Inputs/force_zero_abilist.txt | ||
| 1 | Let's also reuse the existing ABI list for llvm tests. | |
| llvm/test/Instrumentation/DataFlowSanitizer/force_zero.ll | ||
| 9 | Let's check that 0 is being stored specifically to SHADOW_PTR. | |
Please also update the documentation: https://clang.llvm.org/docs/DataFlowSanitizer.html#abi-list
| llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp | ||
|---|---|---|
| 156 | ||
| 159 | ||
| clang/docs/DataFlowSanitizer.rst | ||
|---|---|---|
| 141 ↗ | (On Diff #373065) | |
Why a separate abilist.txt?