[PATCH] D98285: [asan] Add an offset for the kernel address sanitizer on FreeBSD
Mark Johnston via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 9 12:50:37 PST 2021
markj created this revision.
Herald added subscribers: hiraditya, krytarowski, arichardson, emaste.
markj requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This is based on a WIP port of the sanitizer runtime to the FreeBSD
kernel.
Test Plan:
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D98285
Files:
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Index: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
===================================================================
--- llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
+++ llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
@@ -108,6 +108,7 @@
static const uint64_t kRISCV64_ShadowOffset64 = 0x20000000;
static const uint64_t kFreeBSD_ShadowOffset32 = 1ULL << 30;
static const uint64_t kFreeBSD_ShadowOffset64 = 1ULL << 46;
+static const uint64_t kFreeBSDKasan_ShadowOffset64 = 0xdffff7c000000000;
static const uint64_t kNetBSD_ShadowOffset32 = 1ULL << 30;
static const uint64_t kNetBSD_ShadowOffset64 = 1ULL << 46;
static const uint64_t kNetBSDKasan_ShadowOffset64 = 0xdfff900000000000;
@@ -493,9 +494,12 @@
Mapping.Offset = kPPC64_ShadowOffset64;
else if (IsSystemZ)
Mapping.Offset = kSystemZ_ShadowOffset64;
- else if (IsFreeBSD && !IsMIPS64)
- Mapping.Offset = kFreeBSD_ShadowOffset64;
- else if (IsNetBSD) {
+ else if (IsFreeBSD && !IsMIPS64) {
+ if (IsKasan)
+ Mapping.Offset = kFreeBSDKasan_ShadowOffset64;
+ else
+ Mapping.Offset = kFreeBSD_ShadowOffset64;
+ } else if (IsNetBSD) {
if (IsKasan)
Mapping.Offset = kNetBSDKasan_ShadowOffset64;
else
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98285.329446.patch
Type: text/x-patch
Size: 1273 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210309/3979e774/attachment.bin>
More information about the llvm-commits
mailing list