[PATCH] D39472: [asan] Ensure that the minimum redzone is at least SHADOW_GRANULARITY
Walter Lee via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 16 09:05:27 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL318422: [asan] Ensure that the minimum redzone is at least SHADOW_GRANULARITY (authored by waltl).
Changed prior to commit:
https://reviews.llvm.org/D39472?vs=123184&id=123197#toc
Repository:
rL LLVM
https://reviews.llvm.org/D39472
Files:
compiler-rt/trunk/lib/asan/asan_activation.cc
compiler-rt/trunk/lib/asan/asan_flags.cc
Index: compiler-rt/trunk/lib/asan/asan_activation.cc
===================================================================
--- compiler-rt/trunk/lib/asan/asan_activation.cc
+++ compiler-rt/trunk/lib/asan/asan_activation.cc
@@ -16,8 +16,10 @@
#include "asan_allocator.h"
#include "asan_flags.h"
#include "asan_internal.h"
+#include "asan_mapping.h"
#include "asan_poisoning.h"
#include "asan_stack.h"
+#include "sanitizer_common/sanitizer_common.h"
#include "sanitizer_common/sanitizer_flags.h"
namespace __asan {
@@ -110,8 +112,9 @@
AllocatorOptions disabled = asan_deactivated_flags.allocator_options;
disabled.quarantine_size_mb = 0;
disabled.thread_local_quarantine_size_kb = 0;
- disabled.min_redzone = 16; // Redzone must be at least 16 bytes long.
- disabled.max_redzone = 16;
+ // Redzone must be at least Max(16, granularity) bytes long.
+ disabled.min_redzone = Max(16, (int)SHADOW_GRANULARITY);
+ disabled.max_redzone = disabled.min_redzone;
disabled.alloc_dealloc_mismatch = false;
disabled.may_return_null = true;
ReInitializeAllocator(disabled);
Index: compiler-rt/trunk/lib/asan/asan_flags.cc
===================================================================
--- compiler-rt/trunk/lib/asan/asan_flags.cc
+++ compiler-rt/trunk/lib/asan/asan_flags.cc
@@ -148,6 +148,9 @@
SanitizerToolName);
Die();
}
+ // Ensure that redzone is at least SHADOW_GRANULARITY.
+ if (f->redzone < (int)SHADOW_GRANULARITY)
+ f->redzone = SHADOW_GRANULARITY;
// Make "strict_init_order" imply "check_initialization_order".
// TODO(samsonov): Use a single runtime flag for an init-order checker.
if (f->strict_init_order) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39472.123197.patch
Type: text/x-patch
Size: 1679 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171116/6cff7dea/attachment.bin>
More information about the llvm-commits
mailing list