Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

eugenis added inline comments to D104463: [hwasan] print exact mismatch offset for short granules..
Mon, Jun 21, 3:45 PM · Restricted Project

Fri, Jun 18

eugenis added inline comments to D104463: [hwasan] print exact mismatch offset for short granules..
Fri, Jun 18, 11:31 AM · Restricted Project
eugenis accepted D104523: [hwasan] Clarify report for allocation-tail-overwritten..

LGTM

Fri, Jun 18, 10:38 AM · Restricted Project

Thu, Jun 17

eugenis accepted D104470: [HWASan] Run LAM tests with -hwasan-generate-tags-with-calls..

LGTM

Thu, Jun 17, 4:12 PM · Restricted Project
eugenis added a comment to D104463: [hwasan] print exact mismatch offset for short granules..

isn't the chance of this lower than a normal tag matching by accident (also producing an incorrect report)? The chance of this should be (16 / 256) * (1 / 256).

Thu, Jun 17, 12:53 PM · Restricted Project
eugenis updated subscribers of D104463: [hwasan] print exact mismatch offset for short granules..

The reason it was done this way was that what looks like a short granule might not be one - sometimes a low tag value is simply a low tag value, and the last byte of the granule is user memory that can match by chance.

Thu, Jun 17, 12:19 PM · Restricted Project

Wed, Jun 16

eugenis accepted D104412: [hwasan] Improve report for addresses within regions..

LGTM

Wed, Jun 16, 12:13 PM · Restricted Project
eugenis accepted D104304: [hwasan] Do not use short granule tags as poison tags..

LGTM

Wed, Jun 16, 10:58 AM · Restricted Project

Tue, Jun 15

eugenis added inline comments to D104304: [hwasan] Do not use short granule tags as poison tags..
Tue, Jun 15, 1:07 PM · Restricted Project

Wed, Jun 9

eugenis accepted D103841: [llvm][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature .

LGTM with a nit

Wed, Jun 9, 12:26 PM · Restricted Project, Restricted Project

Tue, Jun 8

eugenis added a comment to D103752: [LoopNest] Fix Wdeprecated-copy warnings.

The buildbot went green before your revert has landed.
No idea what's going on, but this change does not seem to be the cause of it.

Tue, Jun 8, 2:45 PM · Restricted Project
eugenis added a comment to D103752: [LoopNest] Fix Wdeprecated-copy warnings.

Try reverting it in the meantime?

Tue, Jun 8, 1:42 PM · Restricted Project
eugenis added a comment to D103752: [LoopNest] Fix Wdeprecated-copy warnings.

It appears that this change broke the sanitizer-windows bot:
https://lab.llvm.org/buildbot/#/builders/127/builds/12064

Tue, Jun 8, 1:08 PM · Restricted Project
eugenis added inline comments to D103841: [llvm][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature .
Tue, Jun 8, 12:34 PM · Restricted Project, Restricted Project
eugenis added a comment to D103845: [compiler-rt][hwasan] Add newline between record_addr lines on frame record dumps.

I think the newline gets added to the frame description only if Symbolizer::GetOrInit()->SymbolizePC(pc) is nonnull, so if it fails then no newline is added.

Tue, Jun 8, 12:15 PM · Restricted Project
eugenis added inline comments to D103841: [llvm][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature .
Tue, Jun 8, 12:05 PM · Restricted Project, Restricted Project
eugenis added a reviewer for D103841: [llvm][hwasan] Decouple use of the TLS global for getting the shadow base and using the frame record feature : glider.
Tue, Jun 8, 12:05 PM · Restricted Project, Restricted Project

Thu, Jun 3

eugenis added inline comments to D102901: [HWASan] Add basic stack tagging support for LAM..
Thu, Jun 3, 2:15 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Jun 2

eugenis added a comment to D103564: [NFC][compiler-rt][hwasan] Move allocation functions into their own file.

s/vfork/fork/ in the description

Wed, Jun 2, 4:05 PM · Restricted Project
eugenis added a comment to D103304: Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always)..

__asan_detect_use_after_return, any variant of it, is not entirely correct. First, using the presence of the global is better than its value, because the linker will pick a random instance in case they disagree, while &(...) != nullptr gives reliable OR semantics.

Wed, Jun 2, 2:21 PM · Restricted Project, Restricted Project

May 19 2021

eugenis added a comment to D102592: [sanitizer] Caught global buffer underflow for first variable.

I think it is too hit-and-miss to add even under a flag. It's just not the right approach - but I also don't know what the right approach would be.

May 19 2021, 3:00 PM · Restricted Project, Restricted Project
eugenis accepted D102059: libsanitizer: Guard cyclades inclusion in sanitizer.

I'd be OK with removing it. 13 years should be enough time to deprecate features.

May 19 2021, 1:26 PM · Restricted Project

May 18 2021

eugenis accepted D102716: scudo: Test realloc on increasing size buffers..
May 18 2021, 2:31 PM · Restricted Project

May 17 2021

eugenis added a comment to D102592: [sanitizer] Caught global buffer underflow for first variable.

You are adding a new global to every translation unit.

  • Private linkage would not allow them to be merged, this can have significant binary size and RAM overhead.
  • There is no guarantee that any of these globals will end up to the left of any sanitized globals. With -fdata-sections, the linker is free to reorder.
  • It is also not referenced from anything, so -gc-sections is likely to kill it.
May 17 2021, 12:38 PM · Restricted Project, Restricted Project

May 14 2021

eugenis added a comment to D102469: [sanitizer] Reduce redzone size for small size global objects.

LGTM

May 14 2021, 12:30 PM · Restricted Project, Restricted Project
eugenis added reviewers for D102469: [sanitizer] Reduce redzone size for small size global objects: eugenis, vitalybuka.
May 14 2021, 12:29 PM · Restricted Project, Restricted Project

May 13 2021

eugenis accepted D102379: scudo: Check for UAF in ring buffer before OOB in more distant blocks..

LGTM

May 13 2021, 6:04 PM · Restricted Project
eugenis accepted D102442: scudo: Fix MTE error reporting for zero-sized allocations..

LGTM

May 13 2021, 6:00 PM · Restricted Project
eugenis added inline comments to D102379: scudo: Check for UAF in ring buffer before OOB in more distant blocks..
May 13 2021, 5:49 PM · Restricted Project
eugenis added inline comments to D102288: [HWASan] Add aliasing flag and enable HWASan to use it..
May 13 2021, 12:02 PM · Restricted Project, Restricted Project
eugenis accepted D102286: [HWASan] Build separate LAM runtime on x86_64..

LGTM

May 13 2021, 11:46 AM · Restricted Project, Restricted Project

May 12 2021

eugenis accepted D102376: scudo: Require fault address to be in bounds for UAF..

LGTM

May 12 2021, 5:06 PM · Restricted Project
eugenis added inline comments to D102376: scudo: Require fault address to be in bounds for UAF..
May 12 2021, 4:49 PM · Restricted Project
eugenis added inline comments to D102376: scudo: Require fault address to be in bounds for UAF..
May 12 2021, 4:14 PM · Restricted Project
eugenis added inline comments to D102286: [HWASan] Build separate LAM runtime on x86_64..
May 12 2021, 3:54 PM · Restricted Project, Restricted Project
eugenis added inline comments to D102288: [HWASan] Add aliasing flag and enable HWASan to use it..
May 12 2021, 3:39 PM · Restricted Project, Restricted Project

May 11 2021

eugenis committed rGa7757f6c22e4: [hwasan] Stress test for thread creation. (authored by eugenis).
[hwasan] Stress test for thread creation.
May 11 2021, 1:11 PM
eugenis closed D101936: [hwasan] Stress test for thread creation..
May 11 2021, 1:11 PM · Restricted Project
eugenis added inline comments to D101936: [hwasan] Stress test for thread creation..
May 11 2021, 1:05 PM · Restricted Project
eugenis updated the diff for D101936: [hwasan] Stress test for thread creation..

Added a comment in the test.

May 11 2021, 1:04 PM · Restricted Project

May 5 2021

eugenis requested review of D101936: [hwasan] Stress test for thread creation..
May 5 2021, 12:39 PM · Restricted Project
eugenis committed rG18959a6a094c: [hwasan] Fix missing synchronization in AllocThread. (authored by eugenis).
[hwasan] Fix missing synchronization in AllocThread.
May 5 2021, 11:58 AM
eugenis closed D101881: [hwasan] Fix missing synchronization in AllocThread..
May 5 2021, 11:58 AM · Restricted Project

May 4 2021

eugenis requested review of D101881: [hwasan] Fix missing synchronization in AllocThread..
May 4 2021, 7:51 PM · Restricted Project

Apr 30 2021

eugenis added a comment to D101599: [msan] Refactor allocator instantiation.

I'm not sure if this is worth the code savings.

Apr 30 2021, 1:35 PM · Restricted Project

Apr 27 2021

eugenis added a comment to D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable.

Right, our commit process is a bit strange. Ideally, the change author should initiate commit after they have the necessary approvals, and then be responsible to deal with any fallout in a timely manner. As things are, the author does not control the timing of the commit, and the committer does not get the bot messages.

Apr 27 2021, 12:45 PM · Restricted Project, Restricted Project, Restricted Project
eugenis added a reverting change for D101154: tsan: fix deadlock in pthread_atfork callbacks: rG5275d772da05: Revert "tsan: fix deadlock in pthread_atfork callbacks".
Apr 27 2021, 12:37 PM · Restricted Project
eugenis added a reverting change for rGefd254b63621: tsan: fix deadlock in pthread_atfork callbacks: rG5275d772da05: Revert "tsan: fix deadlock in pthread_atfork callbacks".
Apr 27 2021, 12:37 PM
eugenis committed rG5275d772da05: Revert "tsan: fix deadlock in pthread_atfork callbacks" (authored by eugenis).
Revert "tsan: fix deadlock in pthread_atfork callbacks"
Apr 27 2021, 12:37 PM
eugenis added a comment to D101154: tsan: fix deadlock in pthread_atfork callbacks.

Just noticed D101385.
I'll revert this anyway to keep the bots green overnight.

Apr 27 2021, 12:35 PM · Restricted Project
eugenis added a comment to D101154: tsan: fix deadlock in pthread_atfork callbacks.

The test is failing on https://lab.llvm.org/buildbot/#/builders/70/builds/6736/steps/7/logs/stdio

Apr 27 2021, 12:14 PM · Restricted Project
eugenis added a comment to D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable.

I fixed another one in https://reviews.llvm.org/rG561f4b9087457e9ea3cf4aeb57dcd507e2fa6258
Please watch the bots after you land changes like this one and don't let them stay broken for an entire day!

Apr 27 2021, 12:10 PM · Restricted Project, Restricted Project, Restricted Project
eugenis committed rG561f4b908745: Fix -Wunused-but-set-variable warning in msan_test.cpp (authored by eugenis).
Fix -Wunused-but-set-variable warning in msan_test.cpp
Apr 27 2021, 12:07 PM
eugenis abandoned D91827: EXPERIMENTAL sign-extend addresses in CompactRingBuffer.

This is an alternative to D91617, it's not currently needed anywhere outside solaris/sparcv9. Let's shelve it for now.

Apr 27 2021, 10:22 AM · Restricted Project

Apr 23 2021

eugenis edited reviewers for D101204: [dfsan] Use the sanitizer allocator to reduce memory cost, added: eugenis; removed: evghenii.
Apr 23 2021, 4:18 PM · Restricted Project
eugenis added a comment to D100783: [HWASan] Use memory addresses in tag dump, not shadow..

I meant why __hwasan_tag_pointer is necessary, can't you match the address in the report header?
But I don't really care that much, LGTM if this is easier for any reason.

Apr 23 2021, 1:09 PM · Restricted Project
eugenis added inline comments to D101120: [hwasan] Add __hwasan_untag_pointer.
Apr 23 2021, 12:14 PM · Restricted Project
eugenis added a comment to D100783: [HWASan] Use memory addresses in tag dump, not shadow..

why is this necessary? there should be a memory address in the report header I think

Apr 23 2021, 12:09 PM · Restricted Project
eugenis accepted D101121: [hwasan] Remove untagging of kernel-consumed memory.

LGTM

Apr 23 2021, 10:35 AM · Restricted Project

Apr 22 2021

eugenis accepted D101105: scudo: Optimize getSizeLSBByClassId() by compressing the table into an integer if possible. NFCI..

Nice.
If this is a significant optimization, we might want to request it through the allocator config and fail if it is impossible - in case we change the size class map in the future and break this by accident.

Apr 22 2021, 1:41 PM · Restricted Project

Apr 21 2021

eugenis accepted D100996: [AArch64] Fix for BTI landing pad insertion with PAC-RET+bkey..

LGTM, thanks!

Apr 21 2021, 2:30 PM · Restricted Project
eugenis added a comment to D100996: [AArch64] Fix for BTI landing pad insertion with PAC-RET+bkey..

I don't think this is correct in general - check AArch64ExpandPseudoInsts.cpp for a long list of pseudos that are replaced with real machine instructions.

Apr 21 2021, 2:02 PM · Restricted Project
eugenis accepted D100911: scudo: Make prepareTaggedChunk() and resizeTaggedChunk() generic..
Apr 21 2021, 1:37 PM · Restricted Project
eugenis added inline comments to D100911: scudo: Make prepareTaggedChunk() and resizeTaggedChunk() generic..
Apr 21 2021, 10:56 AM · Restricted Project
eugenis accepted D100910: scudo: Use DC GZVA instruction in storeTags()..

LGTM
I wonder if doing the size check before the DCZID check could speed up small allocations, and maybe raising the threshold value could help.
But we can worry about that later.

Apr 21 2021, 10:42 AM · Restricted Project

Apr 19 2021

eugenis committed rGfbb9132e71a2: Fix android-x86 library name in asan_device_setup. (authored by eugenis).
Fix android-x86 library name in asan_device_setup.
Apr 19 2021, 5:40 PM
eugenis closed D100505: Fix android-x86 library name in asan_device_setup..
Apr 19 2021, 5:40 PM · Restricted Project
eugenis added a comment to D100783: [HWASan] Use memory addresses in tag dump, not shadow..

could you also update the test to check that the invalid access address from the report header matches one of the tag dump addresses?

Apr 19 2021, 3:27 PM · Restricted Project

Apr 16 2021

eugenis added a comment to D100645: Sanitizer built against glibc 2.34 doesn't work.

I think this happens when the patch is uploaded through web ui and not through arc. It would be great if arc patch made it clear when that is the case!

Apr 16 2021, 11:41 AM · Restricted Project

Apr 14 2021

eugenis committed rG51aa61e74bdb: [hwasan] Fix lock contention on thread creation. (authored by eugenis).
[hwasan] Fix lock contention on thread creation.
Apr 14 2021, 5:14 PM
eugenis closed D100348: [hwasan] Fix lock contention on thread creation..
Apr 14 2021, 5:14 PM · Restricted Project
eugenis updated the diff for D100348: [hwasan] Fix lock contention on thread creation..

split locks for live and free lists

Apr 14 2021, 3:50 PM · Restricted Project
eugenis requested review of D100505: Fix android-x86 library name in asan_device_setup..
Apr 14 2021, 1:15 PM · Restricted Project
eugenis added inline comments to D100348: [hwasan] Fix lock contention on thread creation..
Apr 14 2021, 12:41 PM · Restricted Project
eugenis updated the diff for D100348: [hwasan] Fix lock contention on thread creation..

addressed comments

Apr 14 2021, 12:41 PM · Restricted Project

Apr 12 2021

eugenis accepted D100354: [compiler-rt][aarch64] Add PAC-RET/BTI property to hwasan_interceptors_vfork.S.

LGTM

Apr 12 2021, 5:21 PM · Restricted Project
eugenis requested review of D100348: [hwasan] Fix lock contention on thread creation..
Apr 12 2021, 3:22 PM · Restricted Project

Apr 9 2021

eugenis accepted D100143: [compiler-rt][aarch64] Add PAC-RET/BTI support to HWASAN..

LGTM

Apr 9 2021, 4:20 PM · Restricted Project
eugenis accepted D100220: [ASan] Allow new/delete replacement by making interceptors weak.

LGTM

Apr 9 2021, 1:03 PM · Restricted Project
eugenis added a comment to D100220: [ASan] Allow new/delete replacement by making interceptors weak.

Add it to CXX_OPERATOR_ATTRIBUTE, on non-mac non-windows?

Apr 9 2021, 12:10 PM · Restricted Project

Apr 8 2021

eugenis accepted D99368: [compiler-rt][hwasan] Add C++17 new/delete operators with alignment.

LGTM

Apr 8 2021, 2:43 PM · Restricted Project

Mar 31 2021

eugenis added a comment to D82317: [Clang/Test]: Update tests where `noundef` attribute is necessary.

I'm not working on this currently, but I would appreciate and support such change. It's a big diff, but IMHO it is the cleanest, most maintainable approach.

Mar 31 2021, 1:08 PM · Restricted Project

Mar 24 2021

eugenis added a comment to D98875: [HWASan] Use page aliasing on x86_64..

AArch64 had TBI from the start, but the kernel support was added only recently. Add untags only in the failing tests, for memory that is passed to system calls.

Mar 24 2021, 4:31 PM · Restricted Project, Restricted Project

Mar 19 2021

eugenis accepted D98875: [HWASan] Use page aliasing on x86_64..

LGTM

Mar 19 2021, 6:12 PM · Restricted Project, Restricted Project

Mar 18 2021

eugenis accepted D98892: [HWASan] Mention x86_64 aliasing mode in design doc..

LGTM

Mar 18 2021, 1:29 PM · Restricted Project

Mar 17 2021

eugenis accepted D98293: [sanitizer] Support dynamic premapped R/W range in primary allocator..

LGTM

Mar 17 2021, 2:53 PM · Restricted Project
eugenis accepted D98373: [HWASan] Refactor in preparation for x86 aliasing mode. NFC.

LGTM

Mar 17 2021, 2:46 PM · Restricted Project
eugenis added inline comments to D98373: [HWASan] Refactor in preparation for x86 aliasing mode. NFC.
Mar 17 2021, 2:32 PM · Restricted Project
eugenis accepted D98072: [HWASan][NFC] Introduce constants for tag bits and masks..

LGTM

Mar 17 2021, 2:26 PM · Restricted Project
eugenis accepted D98751: [sanitizer] Remove max_len parameter from InternalScopedString.

Nice.
LGTM.

Mar 17 2021, 2:17 PM · Restricted Project

Mar 12 2021

eugenis added inline comments to D98293: [sanitizer] Support dynamic premapped R/W range in primary allocator..
Mar 12 2021, 1:36 PM · Restricted Project

Mar 11 2021

eugenis committed rG3d039f65015f: [compiler-rt] PR#39514 Support versioned llvm-symbolizer binaries (authored by ahunt).
[compiler-rt] PR#39514 Support versioned llvm-symbolizer binaries
Mar 11 2021, 6:29 PM
eugenis closed D97682: [compiler-rt] PR#39514 Support versioned llvm-symbolizer binaries.
Mar 11 2021, 6:29 PM · Restricted Project

Mar 10 2021

eugenis accepted D98369: [sanitizer] Implement MapDynamicShadowAndAliases..

LGTM

Mar 10 2021, 3:05 PM · Restricted Project
eugenis added inline comments to D98369: [sanitizer] Implement MapDynamicShadowAndAliases..
Mar 10 2021, 1:52 PM · Restricted Project
eugenis accepted D97682: [compiler-rt] PR#39514 Support versioned llvm-symbolizer binaries.

Do you have commit access? I can land this for you.

Mar 10 2021, 12:24 PM · Restricted Project

Mar 9 2021

eugenis accepted D98293: [sanitizer] Support dynamic premapped R/W range in primary allocator..

LGTM

Mar 9 2021, 4:12 PM · Restricted Project

Mar 8 2021

eugenis added a comment to D93731: scudo: Support memory tagging in the secondary allocator..

LGTM

Mar 8 2021, 1:11 PM · Restricted Project
eugenis accepted D98069: [HWASan] Disable stack, globals and force callbacks for x86_64..

Ha. Indeed, the tests run on the android bot.
LGTM

Mar 8 2021, 1:04 PM · Restricted Project, Restricted Project
eugenis added a comment to D98069: [HWASan] Disable stack, globals and force callbacks for x86_64..

I'm concerned about losing test coverage of stack and globals in hwasan.
Could we keep both modes until page aliasing reaches feature parity?
As an alternative, we could setup aarch64 simulator testing, or even a native aarch64 builder/tester.

Mar 8 2021, 12:10 PM · Restricted Project, Restricted Project