[PATCH] Implement variable-sized alloca instrumentation.
Maxim Ostapenko
m.ostapenko at partner.samsung.com
Wed Nov 19 06:06:30 PST 2014
Updated according to last review.
Now we don't keep PartialRzAddr until the end of function, we can just unpoison RightRzAddr and RightRzAddr - 32 with two stores into RightRzAddrShadow and RightRzAddrShadow - 4.
If PartialRzAddr == RightRzAddr we will perform one redundant store into user's memory shadow during unpoisoning, but perhaps this should be actually fine.
http://reviews.llvm.org/D6055
Files:
lib/Transforms/Instrumentation/AddressSanitizer.cpp
lib/asan/asan_internal.h
lib/asan/asan_report.cc
test/Instrumentation/AddressSanitizer/instrument-dynamic-allocas.ll
test/asan/TestCases/alloca_big_alignment.cc
test/asan/TestCases/alloca_detect_custom_size_.cc
test/asan/TestCases/alloca_instruments_all_paddings.cc
test/asan/TestCases/alloca_overflow_partial.cc
test/asan/TestCases/alloca_overflow_right.cc
test/asan/TestCases/alloca_safe_access.cc
test/asan/TestCases/alloca_underflow_left.cc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6055.16385.patch
Type: text/x-patch
Size: 20873 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141119/7c55bee1/attachment.bin>
More information about the llvm-commits
mailing list