Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Nov 23

eugenis accepted D114404: [hwasan] support python3 in hwasan_sanitize.

LGTM

Tue, Nov 23, 12:59 PM · Restricted Project

Tue, Nov 16

eugenis committed rG913d78c40c37: [scudo] Regression test for the MTE crash in storeEndMarker. (authored by eugenis).
[scudo] Regression test for the MTE crash in storeEndMarker.
Tue, Nov 16, 1:43 PM
eugenis closed D114022: [scudo] Fix MTE crash in storeEndMarker..
Tue, Nov 16, 1:43 PM · Restricted Project
eugenis added inline comments to D114022: [scudo] Fix MTE crash in storeEndMarker..
Tue, Nov 16, 12:45 PM · Restricted Project
eugenis updated the diff for D114022: [scudo] Fix MTE crash in storeEndMarker..

Remove the fix, keep the test.

Tue, Nov 16, 12:45 PM · Restricted Project
eugenis requested review of D114022: [scudo] Fix MTE crash in storeEndMarker..
Tue, Nov 16, 12:18 PM · Restricted Project

Fri, Nov 12

eugenis accepted D112588: [sanitizer] Switch dlsym hack to internal_allocator.

LGTM

Fri, Nov 12, 4:03 PM · Restricted Project
eugenis added inline comments to D112588: [sanitizer] Switch dlsym hack to internal_allocator.
Fri, Nov 12, 3:34 PM · Restricted Project

Thu, Nov 11

eugenis added inline comments to D112588: [sanitizer] Switch dlsym hack to internal_allocator.
Thu, Nov 11, 3:38 PM · Restricted Project
eugenis added a comment to D113160: [stack-safety] Check SCEV constraints at memory instructions..

LGTM but please wait for review from Vitaly, too

Thu, Nov 11, 2:58 PM · Restricted Project
eugenis accepted D111443: [Driver] Fix ToolChain::getSanitizerArgs.

LGTM

Thu, Nov 11, 1:02 PM · Restricted Project

Wed, Nov 10

eugenis added inline comments to D111443: [Driver] Fix ToolChain::getSanitizerArgs.
Wed, Nov 10, 1:58 PM · Restricted Project

Tue, Nov 9

eugenis accepted D113454: [dfsan] Dfsan version of D113328.

LGTM

Tue, Nov 9, 5:23 PM · Restricted Project
eugenis accepted D113452: [NFC][sanitizer] Extract ScopedBlockSignals.

LGTM

Tue, Nov 9, 5:23 PM · Restricted Project
eugenis accepted D113328: [msan] Block signals in MsanThread::Init.

LGTM

Tue, Nov 9, 5:23 PM · Restricted Project

Mon, Nov 8

eugenis added inline comments to D113328: [msan] Block signals in MsanThread::Init.
Mon, Nov 8, 3:12 PM · Restricted Project
eugenis added inline comments to D113328: [msan] Block signals in MsanThread::Init.
Mon, Nov 8, 3:11 PM · Restricted Project
eugenis added a comment to D113160: [stack-safety] Check SCEV constraints at memory instructions..

This looks nice. Any idea how much does it improve analysis success rate in practice?

Mon, Nov 8, 2:00 PM · Restricted Project
eugenis added a comment to D113328: [msan] Block signals in MsanThread::Init.

What if the signal arrives before MsanThread::Init?
This is what bionic does for hwasan: https://android-review.googlesource.com/c/platform/bionic/+/1134990/

Mon, Nov 8, 11:28 AM · Restricted Project

Fri, Nov 5

eugenis accepted D113323: [libFuzzer] Disable Msan on InternalStrnlen.

LGTM

Fri, Nov 5, 3:20 PM · Restricted Project
eugenis added a comment to D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default.
-  long long res;
+  register long long res __asm__("x0");

Is it okay to commit this change by myself?

Fri, Nov 5, 1:50 PM · Restricted Project

Wed, Nov 3

eugenis added a comment to D111443: [Driver] Fix ToolChain::getSanitizerArgs.

The approach looks reasonable to me.

Wed, Nov 3, 3:10 PM · Restricted Project

Tue, Nov 2

eugenis added a comment to D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default.

You are absolutely right. X86 variant uses an "=a" constraint (rax register), others pin the output variable to a specific register with asm declaration. It appears we've missed it in Aarch64.

Tue, Nov 2, 2:22 PM · Restricted Project

Mon, Nov 1

eugenis accepted D112959: [HWASan] Print short tags in __hwasan_print_shadow..

LGTM w/ nit

Mon, Nov 1, 2:39 PM · Restricted Project
eugenis accepted D112949: [HWASan] Print short tags in tag mismatch description..

LGTM, but maybe put the short tag in () or [] to show that it is logically part of the memory tag? And I would remove the "/short" part - it's confusing if you don't know what short tags are, and unnecessary if you do.

Mon, Nov 1, 12:53 PM · Restricted Project

Fri, Oct 29

eugenis accepted D112784: [sanitizer] Add posix_spawn interceptor.

LGTM

Fri, Oct 29, 11:49 AM · Restricted Project
eugenis accepted D112832: [X86] Don't affect jump tables under +tagged-globals..

LGTM

Fri, Oct 29, 10:22 AM · Restricted Project, Restricted Project
eugenis added inline comments to D112784: [sanitizer] Add posix_spawn interceptor.
Fri, Oct 29, 10:17 AM · Restricted Project

Oct 28 2021

eugenis added a comment to D111164: Regenerate LC_CODE_SIGNATURE during llvm-objcopy operations.

Hi,

It looks like

LLVM :: tools/llvm-objcopy/MachO/universal-object.test

starts failing with this patch when the compiler is built with ubsan:
http://lab.llvm.org:8011/#/builders/5/builds/13703

Oct 28 2021, 11:09 AM · Restricted Project, Restricted Project

Oct 27 2021

eugenis added inline comments to D112098: [ASan] Added stack safety support in address sanitizer..
Oct 27 2021, 5:34 PM · Restricted Project, Restricted Project

Oct 26 2021

eugenis committed rZORG55e9668c3fe6: Run chromium's llvm update script with python3. (authored by eugenis).
Run chromium's llvm update script with python3.
Oct 26 2021, 9:53 AM

Oct 21 2021

eugenis accepted D112197: [msan] Don't use TLS slots of noundef args.

I agree it is a little bit scary that noundef can be removed from an argument - msan appears to put more requirements on the attribute than the rest of llvm (it's a call abi attribute for msan, not just optimization).

Oct 21 2021, 3:53 PM · Restricted Project

Oct 20 2021

eugenis committed rG4e1a6c07052b: [msan] Add stat-family interceptors on Linux (authored by foobarrior).
[msan] Add stat-family interceptors on Linux
Oct 20 2021, 5:16 PM
eugenis closed D111984: [msan] Add stat-family interceptors on Linux.
Oct 20 2021, 5:16 PM · Restricted Project
eugenis added a comment to D111984: [msan] Add stat-family interceptors on Linux.

+llvm-commits

Oct 20 2021, 4:56 PM · Restricted Project
eugenis updated subscribers of D111984: [msan] Add stat-family interceptors on Linux.
Oct 20 2021, 4:55 PM · Restricted Project
eugenis accepted D111984: [msan] Add stat-family interceptors on Linux.

Should I fix lint checks from the review? They seem to be incorrect from my point of view

Oct 20 2021, 4:30 PM · Restricted Project

Oct 19 2021

eugenis added a comment to D111984: [msan] Add stat-family interceptors on Linux.

Please apply the clang-format lint changes in the comments.

Oct 19 2021, 4:01 PM · Restricted Project

Oct 18 2021

eugenis added inline comments to D111984: [msan] Add stat-family interceptors on Linux.
Oct 18 2021, 2:04 PM · Restricted Project

Oct 15 2021

eugenis accepted D108453: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default (2).

LGTM

Oct 15 2021, 9:55 AM · Restricted Project, Restricted Project
eugenis accepted D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default.
Oct 15 2021, 9:54 AM · Restricted Project

Oct 14 2021

eugenis committed rG439e00a25bde: [scudo] Fix running tests under hwasan. (authored by eugenis).
[scudo] Fix running tests under hwasan.
Oct 14 2021, 3:03 PM
eugenis committed rG7a3fb71c3cbd: [hwasan] Fix TestCases/thread-uaf.c. (authored by eugenis).
[hwasan] Fix TestCases/thread-uaf.c.
Oct 14 2021, 3:03 PM
eugenis committed rG039096ee7137: [hwasan] Add default "/" prefix. (authored by eugenis).
[hwasan] Add default "/" prefix.
Oct 14 2021, 3:03 PM
eugenis closed D111842: [scudo] Fix running tests under hwasan..
Oct 14 2021, 3:03 PM · Restricted Project
eugenis closed D111841: [hwasan] Fix TestCases/thread-uaf.c..
Oct 14 2021, 3:03 PM · Restricted Project
eugenis closed D111840: [hwasan] Add default "/" prefix..
Oct 14 2021, 3:03 PM · Restricted Project
eugenis abandoned D111844: [hwasan] Add default "/" prefix..
Oct 14 2021, 2:51 PM · Restricted Project
eugenis added inline comments to D111840: [hwasan] Add default "/" prefix..
Oct 14 2021, 2:50 PM · Restricted Project
eugenis updated the diff for D111840: [hwasan] Add default "/" prefix..

address comment

Oct 14 2021, 2:50 PM · Restricted Project
eugenis requested review of D111844: [hwasan] Add default "/" prefix..
Oct 14 2021, 2:46 PM · Restricted Project
eugenis requested review of D111842: [scudo] Fix running tests under hwasan..
Oct 14 2021, 2:32 PM · Restricted Project
eugenis requested review of D111841: [hwasan] Fix TestCases/thread-uaf.c..
Oct 14 2021, 2:30 PM · Restricted Project
eugenis requested review of D111840: [hwasan] Add default "/" prefix..
Oct 14 2021, 2:29 PM · Restricted Project

Oct 13 2021

eugenis added a comment to D111443: [Driver] Fix ToolChain::getSanitizerArgs.

Right, but a cache for SanitizerArgs is not enough to avoid repeated diagnostics, is it? Ex. if I request a non-existing sanitizer, I think I would get errors from host arg parsing, as well as from each of device1 and device2, because each device will have a unique ArgList.

Oct 13 2021, 10:42 AM · Restricted Project

Oct 11 2021

eugenis added a comment to D111443: [Driver] Fix ToolChain::getSanitizerArgs.

Don't we want to diagnose the problems in the job's command line? What kind of changes can the driver do there that would affect SanitizerArgs?

Oct 11 2021, 9:56 AM · Restricted Project

Oct 7 2021

eugenis accepted D111343: [x86] Implement a tagged-globals backend feature..

This also needs the -mrelax-relocations=no flag to work correctly, right?

Oct 7 2021, 2:18 PM · Restricted Project, Restricted Project
eugenis accepted D111344: [HWASan] Use tagged-globals feature on x86..

LGTM

Oct 7 2021, 1:40 PM · Restricted Project, Restricted Project
eugenis added a comment to D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default.

@hyeongyukim, thank you for the summary. This looks like a great change, and a net positive to me. The test churn in the other patch is unfortunate, but IMHO unavoidable.

Oct 7 2021, 12:26 PM · Restricted Project
eugenis accepted D111261: [msan] Dump shadow address.

You know that you can also use msan_print_shadow, which is better in every way? :)
Also, do you mind updating
msan_print_shadow to show the memory address, in addition to the shadow address, in the header?

Oct 7 2021, 11:18 AM · Restricted Project

Oct 5 2021

eugenis accepted D111176: [NFC][sanitizer] Add basic hash test.

LGTM

Oct 5 2021, 2:24 PM · Restricted Project
eugenis added a comment to D111176: [NFC][sanitizer] Add basic hash test.

I'm not sure what does this test test.
Do we depend anywhere on the hash function producing these exact values, or is it part of an abi contract?

Oct 5 2021, 12:21 PM · Restricted Project

Sep 30 2021

eugenis added a comment to D110880: [msan] Remove StackTrace::tag.

Hmm, I really like this info.

Sep 30 2021, 1:44 PM · Restricted Project, Restricted Project

Sep 28 2021

eugenis added inline comments to D110639: [sanitizer] Atomic access to StackDepot stats.
Sep 28 2021, 4:32 PM · Restricted Project
eugenis added inline comments to D110639: [sanitizer] Atomic access to StackDepot stats.
Sep 28 2021, 4:23 PM · Restricted Project
eugenis accepted D110644: [NFC][sanitizer] Return StackDepotStats by value.

LGTM

Sep 28 2021, 2:31 PM · Restricted Project
eugenis added inline comments to D110639: [sanitizer] Atomic access to StackDepot stats.
Sep 28 2021, 10:56 AM · Restricted Project

Sep 22 2021

eugenis added inline comments to D110254: [hwasan] have callbacks for 32 and 64 byte ops.
Sep 22 2021, 2:01 PM · Restricted Project, Restricted Project

Sep 21 2021

eugenis accepted D110012: [asan] Fixed a bug causing a crash when redzone optimization kicked in on X86 with -asan-optimize-callbacks flag on..

LGTM

Sep 21 2021, 3:19 PM · Restricted Project
eugenis added inline comments to D110012: [asan] Fixed a bug causing a crash when redzone optimization kicked in on X86 with -asan-optimize-callbacks flag on..
Sep 21 2021, 11:48 AM · Restricted Project
eugenis accepted D109816: [hwasan] also omit safe mem[cpy|mov|set]..

LGTM

Sep 21 2021, 10:22 AM · Restricted Project
eugenis accepted D110178: [HWASan] Use a single .weak binding in asm..

Sure.
Of course, this is not clearly documented anywhere.
LGTM

Sep 21 2021, 10:01 AM · Restricted Project

Sep 20 2021

eugenis updated subscribers of D109816: [hwasan] also omit safe mem[cpy|mov|set]..
Sep 20 2021, 1:59 PM · Restricted Project
eugenis accepted D110067: [NFC] [hwasan] Separate outline and inline instrumentation..

LGTM

Sep 20 2021, 12:20 PM · Restricted Project

Sep 17 2021

eugenis added a comment to D109971: [asan] Added TargetInstrInfo::isStackAdjustIntrinsic used to identify intrinsics, which adjust the stack when lowered to native..

I wonder if it is better to handle it through hasCopyImplyingStackAdjustment. This way it stays within the x86 target.

Sep 17 2021, 10:42 AM · Restricted Project

Sep 16 2021

eugenis added inline comments to D109816: [hwasan] also omit safe mem[cpy|mov|set]..
Sep 16 2021, 1:44 PM · Restricted Project

Sep 15 2021

eugenis added inline comments to D109816: [hwasan] also omit safe mem[cpy|mov|set]..
Sep 15 2021, 4:06 PM · Restricted Project
eugenis added a comment to D109790: [HWASan] Intercept setjmp/longjmp on x86_64..

LGTM modulo the CET discussion

Sep 15 2021, 4:04 PM · Restricted Project
eugenis added inline comments to D109816: [hwasan] also omit safe mem[cpy|mov|set]..
Sep 15 2021, 12:37 PM · Restricted Project

Sep 14 2021

eugenis accepted D109787: [HWASan] Catch cases where libc populated jmp_buf..

LGTM

Sep 14 2021, 3:12 PM · Restricted Project
eugenis accepted D109788: [HWASan] Test longjmp(jmpbuf, 0)..

LGTM

Sep 14 2021, 3:01 PM · Restricted Project
eugenis added a comment to D109787: [HWASan] Catch cases where libc populated jmp_buf..

Yes, I think I like this version better. What does glibc has at the offset of __mask_was_saved? Is it impossible for the magic value to match that contents, or simply very unlikely?

Sep 14 2021, 2:45 PM · Restricted Project
eugenis added a comment to D109764: [NFC] [PSI] explain encoding of PercentileCutoff..

mention that the digits are *decimal* somewhere?

Sep 14 2021, 2:34 PM · Restricted Project

Sep 13 2021

eugenis added a comment to D109618: add a check-tsan-shared.

Also, let's call the target "tsan-dynamic" to match the naming convention established in asan.

Sep 13 2021, 2:24 PM
eugenis added a comment to D109699: [HWASan] Remove __libc_longjmp interceptor..

From the discussion in D69045, I see that in older glibc versions setjmp in thread creation was intercepted, and we had to intercept this __libc_longjmp to match, but that is no longer the case. If there are no good solutions that work everywhere, then supporting 2.31+ is OK I guess (it's 1.5 years old by now). Could you see if we could detect hwasan vs libc jmpbuf format easily though, and forward to libc in the latter case?

Sep 13 2021, 1:41 PM · Restricted Project
eugenis accepted D109698: [hwasan] print globals in symbolizer-friendly format..

My only concern is that an unsuspecting tool will symbolize this as code, not data location. As I understand, these are mostly equivalent when there is no line info for the address, which is the most common case. See the difference between SymbolizableObjectFile::symbolizeCode and symbolizeData. This change looks an improvement.

Sep 13 2021, 12:22 PM · Restricted Project

Sep 9 2021

eugenis updated subscribers of D109533: add tsan test.

This certainly add some coverage, but I'm not sure we want to spend test resources on this configuration. Bootstrap of LLVM with TSan is unlikely to find much because LLVM is single threaded.

Sep 9 2021, 1:52 PM
eugenis accepted D108457: [hwasan] Do not instrument accesses to uninteresting allocas..

LGTM

Sep 9 2021, 1:27 PM · Restricted Project
eugenis added a comment to D109503: [stack-safety] Allow to determine safe accesses..

LGTM with Vitaly's comment about test coverage

Sep 9 2021, 1:06 PM · Restricted Project

Sep 8 2021

eugenis added a comment to D108457: [hwasan] Do not instrument accesses to uninteresting allocas..

still missing test cases for combinations of mixed safe/unsafe accesses

Sep 8 2021, 1:05 PM · Restricted Project
eugenis accepted D109442: [NFC] [hwasan] move prints closer together..

LGTM

Sep 8 2021, 12:11 PM · Restricted Project

Sep 7 2021

eugenis updated subscribers of D108457: [hwasan] Do not instrument accesses to uninteresting allocas..

Ideas for more analysis tests:

  • unsafe alloca with a mix of safe and unsafe accesses
  • memcpy that is safe on one side and unsafe on the other. Either between two allocas, or within the same (memmove?). Or between alloca and non-stack memory.
Sep 7 2021, 3:41 PM · Restricted Project

Sep 3 2021

eugenis added a comment to D108457: [hwasan] Do not instrument accesses to uninteresting allocas..

This is pretty cool, I thought it would be more complicated.

Sep 3 2021, 2:41 PM · Restricted Project

Sep 2 2021

eugenis accepted D108365: [hwasan] Support more complicated lifetimes..

LGTM

Sep 2 2021, 1:35 PM · Restricted Project, Restricted Project
eugenis added inline comments to D108394: add tsan shared library.
Sep 2 2021, 1:02 PM · Restricted Project, Restricted Project
eugenis added inline comments to D108394: add tsan shared library.
Sep 2 2021, 10:23 AM · Restricted Project, Restricted Project

Sep 1 2021

eugenis added inline comments to D108394: add tsan shared library.
Sep 1 2021, 12:10 PM · Restricted Project, Restricted Project

Aug 27 2021

eugenis added a comment to D107799: [CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by default on Linux.

symbolizer build fixed in D108841.
There is still the asan test failure - you don't need any fancy build to reproduce it, just check-asan in a regular cmake build. It's in TestCases/replaceable_new_delete.cpp.
Sorry I can not chase it right now - it's a very busy week for me. Please do not reland until it is fixed though.

Aug 27 2021, 2:16 PM · Restricted Project, Restricted Project
eugenis committed rGf89ebe108e6f: Support LLVM_ENABLE_PER_TARGET_RUNTIME_DIR in the sanitizer symbolizer build. (authored by eugenis).
Support LLVM_ENABLE_PER_TARGET_RUNTIME_DIR in the sanitizer symbolizer build.
Aug 27 2021, 1:50 PM
eugenis closed D108841: Support LLVM_ENABLE_PER_TARGET_RUNTIME_DIR in the sanitizer symbolizer build..
Aug 27 2021, 1:50 PM · Restricted Project