eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 3 2012, 3:00 AM (297 w, 5 d)

Recent Activity

Fri, Jun 15

eugenis accepted D48203: [SanitizerCoverage] Add associated metadata to pc-tables..
Fri, Jun 15, 1:10 PM
eugenis added inline comments to D48203: [SanitizerCoverage] Add associated metadata to pc-tables..
Fri, Jun 15, 12:42 PM
eugenis added inline comments to D48203: [SanitizerCoverage] Add associated metadata to pc-tables..
Fri, Jun 15, 10:30 AM
eugenis added inline comments to D48203: [SanitizerCoverage] Add associated metadata to pc-tables..
Fri, Jun 15, 9:59 AM
eugenis added inline comments to D48203: [SanitizerCoverage] Add associated metadata to pc-tables..
Fri, Jun 15, 9:50 AM
eugenis added a comment to D48203: [SanitizerCoverage] Add associated metadata to pc-tables..

Did you try BFD with more than one function? There was a fun bug where the "first" (for some definition of the word) input section of an output section was treated differently from the rest.

Fri, Jun 15, 9:22 AM

Fri, Jun 8

eugenis accepted D47841: [asan] Instrument comdat globals on COFF targets.

Sounds like a good idea.

Fri, Jun 8, 9:45 AM

Wed, Jun 6

eugenis added a comment to D47841: [asan] Instrument comdat globals on COFF targets.

Yes, and we put all globals in comdats, too. See AddressSanitizerModule::InstrumentGlobalsELF.

Wed, Jun 6, 12:56 PM

Tue, Jun 5

eugenis accepted D47645: [LSan] Report proper error on allocator failures instead of CHECK(0)-ing.

Looks great.

Tue, Jun 5, 10:55 AM

Thu, May 31

eugenis accepted D47575: [ASAN] Sanitize testsuite for ARM..
Thu, May 31, 11:46 AM

Fri, May 25

eugenis added a comment to D47146: Memorysanitizer fix mmap test for oses not supporting MAP_NORESERVE flag.

i.e. unless you've tested it on one of those systems, it might be safer to disable the test instead

Fri, May 25, 12:55 PM
eugenis accepted D47146: Memorysanitizer fix mmap test for oses not supporting MAP_NORESERVE flag.

OK, fine.
Just keep in mind that this test tries to exhaust the address space, but, without NORESERVE semantics, it would exhaust physical RAM instead and may DOS the entire system.

Fri, May 25, 12:54 PM
eugenis added a comment to D47146: Memorysanitizer fix mmap test for oses not supporting MAP_NORESERVE flag.

Two questions,

  1. How does MSan work at all if MAP_NORESERVE is not implemented? Is it actually the default setting, and it's the opposite behavior that is not implemented?
  2. If the flag is defined in the headers but ignored by the kernel, then what is the purpose of this patch?
Fri, May 25, 10:16 AM

Tue, May 22

eugenis committed rL333025: [asan] Use dynamic allocator space address on Android/AArch64..
[asan] Use dynamic allocator space address on Android/AArch64.
Tue, May 22, 1:48 PM
eugenis committed rCRT333025: [asan] Use dynamic allocator space address on Android/AArch64..
[asan] Use dynamic allocator space address on Android/AArch64.
Tue, May 22, 1:48 PM
eugenis closed D47160: [asan] Use dynamic allocator space address on Android/AArch64..
Tue, May 22, 1:48 PM
eugenis closed D47160: [asan] Use dynamic allocator space address on Android/AArch64..
Tue, May 22, 1:48 PM

Mon, May 21

eugenis created D47160: [asan] Use dynamic allocator space address on Android/AArch64..
Mon, May 21, 1:56 PM

May 18 2018

eugenis committed rL332761: [msan] Don't check divisor shadow in fdiv..
[msan] Don't check divisor shadow in fdiv.
May 18 2018, 1:24 PM
eugenis committed rCRT332761: [msan] Don't check divisor shadow in fdiv..
[msan] Don't check divisor shadow in fdiv.
May 18 2018, 1:24 PM
eugenis closed D47085: [msan] Don't check divisor shadow in fdiv..
May 18 2018, 1:23 PM
eugenis created D47085: [msan] Don't check divisor shadow in fdiv..
May 18 2018, 1:20 PM

May 15 2018

eugenis committed rL332402: [msan] Instrument masked.store, masked.load intrinsics..
[msan] Instrument masked.store, masked.load intrinsics.
May 15 2018, 2:32 PM
eugenis closed D46785: [msan] Instrument masked.store, masked.load intrinsics..
May 15 2018, 2:32 PM
eugenis updated the diff for D46785: [msan] Instrument masked.store, masked.load intrinsics..

more tests

May 15 2018, 1:28 PM

May 14 2018

eugenis accepted D46852: [asan] Workaround to avoid hangs in Chromium tests.
May 14 2018, 5:16 PM
eugenis accepted D46793: [sanitizer] Intercept __pthread_mutex_lock and __pthread_mutex_unlock.

LGTM

May 14 2018, 1:42 PM

May 11 2018

eugenis created D46785: [msan] Instrument masked.store, masked.load intrinsics..
May 11 2018, 4:43 PM

May 9 2018

eugenis accepted D46517: [sanitizer] Don't miss threads by ThreadSuspender.
May 9 2018, 3:32 PM
eugenis accepted D46663: [lsan] Report unsuspended threads.
May 9 2018, 3:08 PM

May 8 2018

eugenis added inline comments to D46517: [sanitizer] Don't miss threads by ThreadSuspender.
May 8 2018, 12:50 PM
eugenis added a comment to D46517: [sanitizer] Don't miss threads by ThreadSuspender.

Nice!

May 8 2018, 11:46 AM

May 7 2018

eugenis accepted D46516: [sanitizer] Simplify ThreadLister interface.
May 7 2018, 4:09 PM
eugenis added a comment to D46517: [sanitizer] Don't miss threads by ThreadSuspender.

What if there is no short read and the entire list is read in one syscall - does that mean that we've got a consistent thread list for some point of time in the past? If so, then iterating until the list stops changing and ignoring any attempts that ended in short reads should work.

May 7 2018, 11:04 AM
eugenis added reviewers for D46517: [sanitizer] Don't miss threads by ThreadSuspender: dvyukov, glider.
May 7 2018, 11:02 AM

May 4 2018

eugenis accepted D46004: Be more accurate when calculating the previous instruction address on Arm..

Looks great, thank you!

May 4 2018, 9:35 AM · Restricted Project

Apr 23 2018

eugenis accepted D45597: [Driver] Android triples are not aliases for other triples..
Apr 23 2018, 12:09 PM

Apr 20 2018

eugenis accepted D45906: [Sanitizer] Internal Printf string width + left-justify..
Apr 20 2018, 4:26 PM
eugenis accepted D45844: [Sanitizer] Internal Printf string precision argument + padding..
Apr 20 2018, 10:49 AM

Apr 19 2018

eugenis accepted D45847: [HWASan] Introduce non-zero based and dynamic shadow memory (compiler-rt)..

That's a lot of code :(
But I don't see anything that could be thrown or factored out. We don't really need fixed (zero-based) stuff, but it's good to have it around for a while (for benchmarks and such).

Apr 19 2018, 5:32 PM
eugenis accepted D45840: [HWASan] Introduce non-zero based and dynamic shadow memory (LLVM)..

LGTM

Apr 19 2018, 5:15 PM

Apr 18 2018

eugenis accepted D45739: [HWASan] Add "N" suffix to generic __hwasan_load/store..

Thanks!

Apr 18 2018, 3:04 PM

Apr 17 2018

eugenis added a comment to D45739: [HWASan] Add "N" suffix to generic __hwasan_load/store..

Add a test, please.

Apr 17 2018, 3:45 PM

Apr 13 2018

eugenis added a comment to D45046: hwasan: add -fsanitize=kernel-hwaddress.

LGTM (+missing *-commits MLs)

Apr 13 2018, 8:16 AM
eugenis updated subscribers of D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 13 2018, 8:16 AM

Apr 12 2018

eugenis accepted D45290: [Driver] Use the per-API level Android library directories..

LGTM (did not check the tests).

Apr 12 2018, 5:01 PM
eugenis committed rCRT329962: [asan] Remove malloc_context_size=0 from asan_device_setup..
[asan] Remove malloc_context_size=0 from asan_device_setup.
Apr 12 2018, 3:10 PM
eugenis committed rL329962: [asan] Remove malloc_context_size=0 from asan_device_setup..
[asan] Remove malloc_context_size=0 from asan_device_setup.
Apr 12 2018, 3:10 PM
eugenis added a comment to D45046: hwasan: add -fsanitize=kernel-hwaddress.

Could be too many parallel links, try -DLLVM_PARALLEL_LINK_JOBS=3.

Apr 12 2018, 11:29 AM

Apr 11 2018

eugenis added a comment to D45509: [asan] Reduce flakiness in stack-overflow detection.

LGTM, please add a comment though

Apr 11 2018, 12:41 PM · Restricted Project
eugenis accepted D45509: [asan] Reduce flakiness in stack-overflow detection.

Out of curiosity, how does access that far below SP happen in that test? Redzone? But that's not a leaf function.

Apr 11 2018, 11:19 AM · Restricted Project

Apr 10 2018

eugenis added inline comments to D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 10 2018, 12:59 PM
eugenis added a comment to D45046: hwasan: add -fsanitize=kernel-hwaddress.

Simply ninja check-all. Maybe the patch got applied incorrectly. Phabricator is really bad with file copies.

Apr 10 2018, 12:47 PM

Apr 9 2018

eugenis added a comment to D45046: hwasan: add -fsanitize=kernel-hwaddress.

the tests fail with:
clang: /code/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:1064: llvm::FunctionPass *llvm::createAddressSanitizerFunctionPass(bool, bool, bool): Assertion `!CompileKernel || Recover' failed.

Apr 9 2018, 1:05 PM

Apr 6 2018

eugenis added inline comments to D45303: shadowcallstack: Make runtime tests compatible with aarch64..
Apr 6 2018, 2:53 PM
eugenis added inline comments to D45303: shadowcallstack: Make runtime tests compatible with aarch64..
Apr 6 2018, 2:38 PM
eugenis added inline comments to D45303: shadowcallstack: Make runtime tests compatible with aarch64..
Apr 6 2018, 2:11 PM
eugenis accepted D45390: [ASan] NFC: make use of a new ErrorBase ctor.
Apr 6 2018, 1:57 PM
eugenis added inline comments to D34451: [RFC] Add KMSAN instrumentation to MSan pass.
Apr 6 2018, 11:07 AM · Restricted Project
eugenis accepted D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 6 2018, 10:28 AM
eugenis added inline comments to D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 6 2018, 9:49 AM
eugenis accepted D44981: asan: kernel: make no_sanitize("address") attribute work with -fsanitize=kernel-address.

Let's keep adding kernel- sanitizers for now.

Apr 6 2018, 9:39 AM

Apr 4 2018

eugenis added a comment to D44927: Enable msan unconditionally on Linux.

Merged. Please don't forget to update tests next time.

Apr 4 2018, 4:51 PM
eugenis committed rC329241: Enable msan unconditionally on Linux..
Enable msan unconditionally on Linux.
Apr 4 2018, 4:51 PM
eugenis committed rL329241: Enable msan unconditionally on Linux..
Enable msan unconditionally on Linux.
Apr 4 2018, 4:51 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Apr 4 2018, 4:51 PM
eugenis accepted D45239: AArch64: Implement support for the shadowcallstack attribute..
Apr 4 2018, 2:50 PM
eugenis added a comment to D44981: asan: kernel: make no_sanitize("address") attribute work with -fsanitize=kernel-address.

I take that back, it's natural to expect there to be a no_sanitize("") attribute matching each possible -fsanitize= value.

Apr 4 2018, 2:47 PM
eugenis added inline comments to D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 4 2018, 2:39 PM
eugenis added inline comments to D45239: AArch64: Implement support for the shadowcallstack attribute..
Apr 4 2018, 2:30 PM
eugenis committed rL329228: hwasan: add -hwasan-match-all-tag flag.
hwasan: add -hwasan-match-all-tag flag
Apr 4 2018, 1:49 PM
eugenis closed D44827: hwasan: add -hwasan-match-all-tag flag.
Apr 4 2018, 1:49 PM

Apr 3 2018

eugenis added a comment to D44981: asan: kernel: make no_sanitize("address") attribute work with -fsanitize=kernel-address.

You are right, it's not the best idea.
Is it too late to get rid of C/C++-level "kernel-address" attribute entirely? For the source code perspective, it's just ASan, but for the kernel. If that's an important distinction, one can always do #ifdef KERNEL or something.

Apr 3 2018, 1:07 PM
eugenis added inline comments to D45046: hwasan: add -fsanitize=kernel-hwaddress.
Apr 3 2018, 11:39 AM

Mar 29 2018

eugenis committed rL328830: Add msan custom mapping options..
Add msan custom mapping options.
Mar 29 2018, 2:21 PM
eugenis closed D44926: Add msan custom mapping options.
Mar 29 2018, 2:21 PM
eugenis accepted D44926: Add msan custom mapping options.

Oh, right. And I removed the extra -msan flags before running the tests. It means you were testing msan^3 before :)

Mar 29 2018, 2:15 PM
eugenis accepted D45054: Set dso_local on cfi_slowpath.

LGTM then. This naming is confusing.

Mar 29 2018, 2:08 PM
eugenis accepted D45047: MSan: introduce the conservative assembly handling mode..

This approach can not handle arrays - it would unpoison only the first element. It could be confusing for the user, but not really worse than the current state. Please mention this in the comment and/or the flag description.

Mar 29 2018, 2:00 PM · Restricted Project
eugenis accepted D45052: Mark __cfi_check as dso_local.
Mar 29 2018, 1:33 PM
eugenis added inline comments to D45046: hwasan: add -fsanitize=kernel-hwaddress.
Mar 29 2018, 1:16 PM
eugenis added inline comments to D44981: asan: kernel: make no_sanitize("address") attribute work with -fsanitize=kernel-address.
Mar 29 2018, 11:37 AM
eugenis added a comment to D45054: Set dso_local on cfi_slowpath.

This looks wrong. cfi_slowpath is defined in libclang_rt.cfi, which is linked to the main executable. It is not always dso-local. On Android it is defined in libdl.so and is never dso-local.

Mar 29 2018, 11:19 AM

Mar 28 2018

eugenis requested changes to D44926: Add msan custom mapping options.

Actually, no. The test does not pass, not even close.
This check:

; CHECK-BASE-NOT: ret

is tripped by this line:

call void @__msan_warning_noreturn()
Mar 28 2018, 2:17 PM
eugenis accepted D44926: Add msan custom mapping options.

Sure. There is still a few extra -msan flags in the tests, I can remove them before commit.

Mar 28 2018, 2:04 PM
eugenis accepted D44827: hwasan: add -hwasan-match-all-tag flag.
Mar 28 2018, 1:58 PM

Mar 27 2018

eugenis committed rCRT328681: [asan] Add vfork to the list of reasons for stack errors..
[asan] Add vfork to the list of reasons for stack errors.
Mar 27 2018, 5:50 PM
eugenis committed rL328681: [asan] Add vfork to the list of reasons for stack errors..
[asan] Add vfork to the list of reasons for stack errors.
Mar 27 2018, 5:48 PM
eugenis added a comment to D44827: hwasan: add -hwasan-match-all-tag flag.

I meant an integer flag with -1 as default value (for no match-all tag).

Mar 27 2018, 2:34 PM
eugenis added inline comments to D44926: Add msan custom mapping options.
Mar 27 2018, 2:30 PM
eugenis updated subscribers of D44927: Enable msan unconditionally on Linux.

I too find these checks arbitrary and pointless. @kcc ?

Mar 27 2018, 1:28 PM

Mar 26 2018

eugenis committed rCRT328600: Revert "[asan] Replace vfork with fork.".
Revert "[asan] Replace vfork with fork."
Mar 26 2018, 5:34 PM
eugenis committed rL328600: Revert "[asan] Replace vfork with fork.".
Revert "[asan] Replace vfork with fork."
Mar 26 2018, 5:34 PM
eugenis added a comment to D44479: [MSan] Add an isStore argument to getShadowOriginPtr(). NFC.

Yes, this sounds fine.
You may want to provide a read-only page for reads and a write-only page for write to validate the use of this interface.

Mar 26 2018, 11:37 AM

Mar 23 2018

eugenis accepted D44511: [MSan] Introduce ActualFnStart. NFC.

Please address Vitaly's comment.

Mar 23 2018, 3:28 PM
eugenis added a comment to D44827: hwasan: add -hwasan-match-all-tag flag.

Please add a separate flag, something like -hwasan-match-all-tag= (0 .. 0xFF, -1).

Mar 23 2018, 11:29 AM

Mar 22 2018

eugenis accepted D44745: [HWASan] Port HWASan to Linux x86-64 (clang).

OK, sure, If you feel so strongly about this.

Mar 22 2018, 5:01 PM
eugenis accepted D44404: [ASan] Report proper ASan error on allocator failures instead of CHECK(0)-ing.

Looks fine.

Mar 22 2018, 2:15 PM
eugenis added inline comments to D44802: Add the ShadowCallStack pass.
Mar 22 2018, 2:01 PM
eugenis accepted D44699: [HWASan] Port HWASan to Linux x86-64 (LLVM).
Mar 22 2018, 1:53 PM