Commit graph

5 commits

Author SHA1 Message Date
Ryan Campbell
ce30d07b11 Include asan options from data partition.
Look for asan options under /data/asan so that multi-process coverage
can be enabled on a newly-started remote process without disabling
verity and without forcing it to be always-on.

Test: adb shell echo "include_if_exists=/data/asan/asan.options.%b" >>
/system/asan.options && adb shell echo
"coverage=1\ncoverage_dir=/data/misc/trace" >
/data/asan/asan.options.android.hardware.light@2.0-service && adb shell killall
android.hardware.light@2.0-service
Bug: 64019182

Change-Id: I241ad8478439323681dc1cfde2fa0770f030ae75
2017-08-09 15:32:23 -07:00
Andreas Gampe
67b7e85b18 Asan.options: Use abort_on_error
Use abort to have debuggerd act and create a tombstone.

Bug: 30775464
Change-Id: I359c7c7c094880b7b55304cd2aa3f4b360b729d8
2016-08-16 15:45:56 -07:00
Andreas Gampe
8ccc1ad0f7 Rootdir: Add more asan.options support
Extend the asan.options file to read binary-specific configuration
from files out of /system. For early services, the system image
location is important as /data may not be available when they are
started.

Add a template that turns most sanitization off. At this point in
time, it is, however, impossible to get to a zero overhead state
after the fact. The template is meant to adapt a build after the
fact, and work around issues with LOCAL_SANITIZE := never.

Add a Make variable and rule copying the template to the path and
name expected by ASAN. Add SANITIZE_LITE to automatically add a
large set of options files.

Bug: 29498013
Change-Id: I8e9e6929a55cee3f3fa0acb377a886bfa7006c91
2016-06-23 14:45:35 -07:00
Evgenii Stepanov
f3009f21d5 Disable container overflow detect on target.
Container overflow annotations may cause false positives in partially
instrumented binaries.

Bug: 25228125, 25212198
Change-Id: Ic587d41698c02e306dece4ad7c6a2a8810c52dbd
2015-10-23 14:57:47 -07:00
Evgenii Stepanov
0d2dde57fe Read global ASAN_OPTIONS from a file.
Instead of setting global ASAN_OPTIONS in immutable init.environ.rc,
load them from a file that can be changed later. The file has to be
on the /system partition to both be editable and available at the
early stages of boot.

Also add allocator_may_return_null=1 as that is closer to the
non-ASan allocator behavior.

Bug: 22846541
Change-Id: Ib0f41393c528f2e7cb398470e41f50abf5f4f455
2015-08-10 11:30:54 -07:00