Andrew Browne
45f6d5522f
[DFSan] Change shadow and origin memory layouts to match MSan.
...
Previously on x86_64:
+--------------------+ 0x800000000000 (top of memory)
| application memory |
+--------------------+ 0x700000008000 (kAppAddr)
| |
| unused |
| |
+--------------------+ 0x300000000000 (kUnusedAddr)
| origin |
+--------------------+ 0x200000008000 (kOriginAddr)
| unused |
+--------------------+ 0x200000000000
| shadow memory |
+--------------------+ 0x100000008000 (kShadowAddr)
| unused |
+--------------------+ 0x000000010000
| reserved by kernel |
+--------------------+ 0x000000000000
MEM_TO_SHADOW(mem) = mem & ~0x600000000000
SHADOW_TO_ORIGIN(shadow) = kOriginAddr - kShadowAddr + shadow
Now for x86_64:
+--------------------+ 0x800000000000 (top of memory)
| application 3 |
+--------------------+ 0x700000000000
| invalid |
+--------------------+ 0x610000000000
| origin 1 |
+--------------------+ 0x600000000000
| application 2 |
+--------------------+ 0x510000000000
| shadow 1 |
+--------------------+ 0x500000000000
| invalid |
+--------------------+ 0x400000000000
| origin 3 |
+--------------------+ 0x300000000000
| shadow 3 |
+--------------------+ 0x200000000000
| origin 2 |
+--------------------+ 0x110000000000
| invalid |
+--------------------+ 0x100000000000
| shadow 2 |
+--------------------+ 0x010000000000
| application 1 |
+--------------------+ 0x000000000000
MEM_TO_SHADOW(mem) = mem ^ 0x500000000000
SHADOW_TO_ORIGIN(shadow) = shadow + 0x100000000000
Reviewed By: stephan.yichao.zhao, gbalats
Differential Revision: https://reviews.llvm.org/D104896
2021-06-25 17:00:38 -07:00
George Balatsouras
5b4dda550e
[dfsan] Add full fast8 support
...
Complete support for fast8:
- amend shadow size and mapping in runtime
- remove fast16 mode and -dfsan-fast-16-labels flag
- remove legacy mode and make fast8 mode the default
- remove dfsan-fast-8-labels flag
- remove functions in dfsan interface only applicable to legacy
- remove legacy-related instrumentation code and tests
- update documentation.
Reviewed By: stephan.yichao.zhao, browneee
Differential Revision: https://reviews.llvm.org/D103745
2021-06-07 17:20:54 -07:00
Jianzhou Zhao
37520a0b2b
[dfsan] Disable testing origin tracking on non x86_64 arch
...
Fix test cases related to https://reviews.llvm.org/D95835 .
2021-03-11 21:22:43 +00:00
Jianzhou Zhao
469d5462fa
[dfsan] Re-enable origin tracking test cases
2021-03-06 02:41:56 +00:00
Jianzhou Zhao
d02e0ba070
[dfsan] Disable origin test cases temporarily
2021-03-06 01:12:54 +00:00
Jianzhou Zhao
c20db7ea6a
[dfsan] Add utils to get and print origin paths and some test cases
...
This is a part of https://reviews.llvm.org/D95835 .
Reviewed By: morehouse, gbalats
Differential Revision: https://reviews.llvm.org/D97962
2021-03-06 00:11:35 +00:00