Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

eugenis added inline comments to D94830: [GWP-ASan] Add 'user requested' size and fix Scudo..
Fri, Jan 15, 2:59 PM · Restricted Project
eugenis accepted D92696: [GWP-ASan] Add inbuilt options parser..

LGTM

Fri, Jan 15, 12:15 PM · Restricted Project

Thu, Jan 14

eugenis updated subscribers of D94572: [MSan] Move origins for overlapped memory transfer.

@vitalybuka FYI

Thu, Jan 14, 1:29 PM · Restricted Project

Wed, Jan 13

eugenis accepted D94117: [GWP-ASan] Minor refactor of optional components..

LGTM

Wed, Jan 13, 5:11 PM · Restricted Project

Tue, Jan 12

eugenis added inline comments to D94552: [MSan] Tweak CopyOrigin.
Tue, Jan 12, 2:41 PM · Restricted Project
eugenis accepted D94552: [MSan] Tweak CopyOrigin.

Hmm this code is a lot more approximate than I remember. The case where src % 4 != dst % 4 is quite broken, but you are right that it is not very common, and also ambiguous - when two poisoned 4-byte chunks with different origins contribute to the same 4-byte chunk in the output, the result can not be represented.

Tue, Jan 12, 2:36 PM · Restricted Project

Mon, Jan 11

eugenis added inline comments to D92696: [GWP-ASan] Add inbuilt options parser..
Mon, Jan 11, 3:31 PM · Restricted Project
eugenis accepted D94425: Hwasan InitPrctl check for error using internal_iserror.

LGTM
Thanks!

Mon, Jan 11, 1:10 PM · Restricted Project, Restricted Project

Fri, Jan 8

eugenis added a comment to D94212: scudo: Add support for tracking stack traces of secondary allocations..

Can we have a setting where the secondary ring buffer is used for primary allocations, too? The primary record could be pushed when the chunk is about to be reused.

Fri, Jan 8, 3:47 PM · Restricted Project, Restricted Project

Tue, Jan 5

eugenis accepted D93731: scudo: Support memory tagging in the secondary allocator..

LGTM

Tue, Jan 5, 4:10 PM · Restricted Project
eugenis accepted D94100: [android] Fix some tests for AOSP-master devices..
Tue, Jan 5, 12:08 PM · Restricted Project

Wed, Dec 30

eugenis accepted D93884: [lsan] Ignore inderect leaks referenced by suppressed blocks.

LGTM

Wed, Dec 30, 1:26 PM · Restricted Project

Tue, Dec 29

eugenis added inline comments to D93884: [lsan] Ignore inderect leaks referenced by suppressed blocks.
Tue, Dec 29, 2:43 PM · Restricted Project
eugenis accepted D93877: [tsan] Remove stdlib.h from dd_interceptors.cpp.

LGTM

Tue, Dec 29, 1:59 PM · Restricted Project

Tue, Dec 22

eugenis accepted D93729: scudo: Replace the Cache argument on MapAllocator with a Config argument. NFCI..

LGTM

Tue, Dec 22, 4:02 PM · Restricted Project
eugenis accepted D93730: scudo: Move the management of the UseMemoryTagging bit out of the Primary. NFCI..

LGTM

Tue, Dec 22, 4:02 PM · Restricted Project
eugenis added inline comments to D93731: scudo: Support memory tagging in the secondary allocator..
Tue, Dec 22, 4:00 PM · Restricted Project
eugenis accepted D93728: scudo: Move the configuration for the primary allocator to Config. NFCI..

LGTM

Tue, Dec 22, 1:56 PM · Restricted Project

Mon, Dec 21

eugenis added a comment to D85788: [Clang test] Update to allow passing extra default clang arguments in use_clang.

IMO it's better to just one-and-done programatically add -Xclang -disable-noundef-analysis to all the tests' RUN lines. That way there are no hidden flags.

If a script for this can be written and people who are working for the downstream project are happy with the script, this is the best approach IMO. It is clear and explicit.

Mon, Dec 21, 1:32 PM · Restricted Project, Restricted Project

Dec 14 2020

eugenis accepted D93251: scudo: Remove positional template arguments for secondary cache. NFCI..

LGTM

Dec 14 2020, 3:10 PM · Restricted Project

Dec 11 2020

eugenis added a comment to D93070: [asan] Search for llvm-symbolizer in the executable's directory instead of only searching in PATH..
  1. Find llvm-symbolizer in /usr/bin, same as addr2line before?
  2. Support something like $ORIGIN substitution in llvm_symbolizer_path.
Dec 11 2020, 10:07 AM · Restricted Project

Dec 10 2020

eugenis committed rGb1dd1a099771: [msan] Do not use 77 as exit code, instead use 1 (authored by Flow).
[msan] Do not use 77 as exit code, instead use 1
Dec 10 2020, 2:42 PM
eugenis closed D92490: [msan] Do not use 77 as exit code, instead use 1.
Dec 10 2020, 2:42 PM · Restricted Project
eugenis added inline comments to D92945: [HWASan] Improve invalid free reports..
Dec 10 2020, 1:17 PM · Restricted Project
eugenis added inline comments to D92688: [GWP-ASan] IWYU & clang-format.
Dec 10 2020, 10:31 AM · Restricted Project

Dec 9 2020

eugenis accepted D92966: scudo: Shrink secondary header and cache entry size by a word on Linux. NFCI..

LGTM

Dec 9 2020, 1:50 PM · Restricted Project
eugenis accepted D92490: [msan] Do not use 77 as exit code, instead use 1.

Are there any tests that need updating?

Dec 9 2020, 12:54 PM · Restricted Project

Dec 8 2020

eugenis requested changes to D85788: [Clang test] Update to allow passing extra default clang arguments in use_clang.

I wonder if we could just disable unused argument warning for both

-disable-noundef-analysis
-Xclang -disable-noundef-analysis

I don't see any precedents for this kind of thing in the code.

Dec 8 2020, 4:22 PM · Restricted Project, Restricted Project
eugenis added a comment to D85788: [Clang test] Update to allow passing extra default clang arguments in use_clang.

simply naming it as %clang_noundef would be clearer,

Dec 8 2020, 4:20 PM · Restricted Project, Restricted Project

Dec 7 2020

eugenis added a comment to D81678: Introduce noundef attribute at call sites for stricter poison analysis.

This change looks fine to me, but I'm slightly concerned about https://reviews.llvm.org/D85788 - see my last comment on that revision.

Dec 7 2020, 3:02 PM · Restricted Project, Restricted Project
eugenis accepted D92728: [NFC][MSan] Round up OffsetPtr in PoisonMembers.

LGTM

Dec 7 2020, 2:52 PM · Restricted Project
eugenis added a comment to D92728: [NFC][MSan] Round up OffsetPtr in PoisonMembers.

Don't you want to similarly align down PoisonEnd?

Dec 7 2020, 10:19 AM · Restricted Project
eugenis accepted D92727: [CodeGen][MSan] Don't use offsets of zero-sized fields.

LGTM

Dec 7 2020, 10:14 AM · Restricted Project

Dec 4 2020

eugenis added a comment to D92696: [GWP-ASan] Add inbuilt options parser..

It is probably a good idea to fuzz the option parser before using it in prod.

Dec 4 2020, 3:16 PM · Restricted Project
eugenis accepted D92688: [GWP-ASan] IWYU & clang-format.

LGTM with nit

Dec 4 2020, 2:25 PM · Restricted Project

Dec 3 2020

eugenis added a comment to D92518: [msan] Use REAL macro when calling intercepted function.

This code needs to call the interceptor to unpoison the output buffer.

Dec 3 2020, 4:04 PM · Restricted Project
eugenis added a comment to D92490: [msan] Do not use 77 as exit code, instead use 1.

I don't mind this change. If anyone feels strongly against it, please let us know.

Dec 3 2020, 2:48 PM · Restricted Project

Dec 1 2020

eugenis accepted D92428: [sanitizer] Make DTLS_on_tls_get_addr signal safer.

LGTM

Dec 1 2020, 4:08 PM · Restricted Project
eugenis added inline comments to D92428: [sanitizer] Make DTLS_on_tls_get_addr signal safer.
Dec 1 2020, 2:51 PM · Restricted Project
eugenis added a comment to D91824: [scudo] Avoid polluting the TLS slot used by libc-scudo.

Yes, the TLS slot is owned by the platform heap allocator (scudo/asan/hwasan). Tests should not touch it.

Dec 1 2020, 1:06 PM · Restricted Project

Nov 30 2020

eugenis accepted D92275: [msan] Replace 8 by kShadowTLSAlignment.

LGTM

Nov 30 2020, 1:38 PM · Restricted Project

Nov 23 2020

eugenis committed rG237b024b06df: [hwasan] Fix tests when vm.overcommit_memory=1. (authored by eugenis).
[hwasan] Fix tests when vm.overcommit_memory=1.
Nov 23 2020, 4:21 PM
eugenis closed D91999: [hwasan] Fix tests when vm.overcommit_memory=1..
Nov 23 2020, 4:21 PM · Restricted Project
eugenis requested review of D91999: [hwasan] Fix tests when vm.overcommit_memory=1..
Nov 23 2020, 4:05 PM · Restricted Project

Nov 20 2020

eugenis committed rG08d90f72cebd: [hwasan] Implement error report callback. (authored by eugenis).
[hwasan] Implement error report callback.
Nov 20 2020, 4:49 PM
eugenis closed D91825: [hwasan] Implement error report callback..
Nov 20 2020, 4:49 PM · Restricted Project
eugenis accepted D91858: [msan] unpoison_file from fclose and fflash.

LGTM
The unpoison_file stuff is very incomplete, but this seems like an improvement.

Nov 20 2020, 1:01 PM · Restricted Project

Nov 19 2020

eugenis added a comment to D91617: [sanitizer_common][test] Disable CompactRingBuffer.int64 on Solaris/sparcv9.

D91827 should do it, but I can't test it on high addresses
It does not update the compiler side, but that one would need to be sparc-specific anyway to avoid adding an extra instruction on aarch64

Nov 19 2020, 3:38 PM · Restricted Project
eugenis requested review of D91827: EXPERIMENTAL sign-extend addresses in CompactRingBuffer.
Nov 19 2020, 3:37 PM · Restricted Project
eugenis added a comment to D91825: [hwasan] Implement error report callback..

It's actually not necessary to copy the error message as long as error_message_ptr_ is reset under the lock.

Nov 19 2020, 2:54 PM · Restricted Project
eugenis updated the diff for D91825: [hwasan] Implement error report callback..

remove unnecessary copy

Nov 19 2020, 2:53 PM · Restricted Project
eugenis added a comment to D91825: [hwasan] Implement error report callback..

You can notice that this change is moving SetAbortMessage call out from under error_message_lock_.
I'm not sure why exactly I'm doing this, other than the fact that ASan does it this way.
This will allow Printf() from within the callback, which is quite unlikely to happen, but I guess possible in verbose mode or something like that.
All of this is still under the wider error_report_lock_, so a hwasan error in the callback will result in the "nested bug" message and an immediate exit.

Nov 19 2020, 2:42 PM · Restricted Project
eugenis requested review of D91825: [hwasan] Implement error report callback..
Nov 19 2020, 2:39 PM · Restricted Project
eugenis accepted D91782: [sanitizer] Fix SIGSEGV in fopen64 interceptor.

(please upload diffs with full context next time, see https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface)

Nov 19 2020, 12:54 PM · Restricted Project

Nov 18 2020

eugenis committed rG523cc097fdaf: [hwasan] Fix Thread reuse (try 2). (authored by eugenis).
[hwasan] Fix Thread reuse (try 2).
Nov 18 2020, 4:04 PM
eugenis closed D91392: [hwasan] Fix Thread reuse (try 2)..
Nov 18 2020, 4:04 PM · Restricted Project
eugenis updated the diff for D91392: [hwasan] Fix Thread reuse (try 2)..

reduced the number of threads in the test to 2

Nov 18 2020, 3:33 PM · Restricted Project
eugenis added a comment to D91617: [sanitizer_common][test] Disable CompactRingBuffer.int64 on Solaris/sparcv9.

Very interesting, thank you for the explanation.
It looks like this can be fixed by applying sign extension to the masked address?

Nov 18 2020, 12:19 PM · Restricted Project

Nov 17 2020

eugenis added a comment to D91392: [hwasan] Fix Thread reuse (try 2)..

Remove the implementation of erase(), which is no longer necessary.
PTAL.

Nov 17 2020, 4:25 PM · Restricted Project
eugenis updated the diff for D91392: [hwasan] Fix Thread reuse (try 2)..

faster live list removal

Nov 17 2020, 4:24 PM · Restricted Project
eugenis added a comment to D91617: [sanitizer_common][test] Disable CompactRingBuffer.int64 on Solaris/sparcv9.

Does it mean CompactRingBuffer is broken, or just the test?
Is this ADI? I don't understand why bits 52-56 (and below) are 0xff in your example.
Could you tell me more about the 64-bit address space in solaris/sparcv9?

Nov 17 2020, 3:40 PM · Restricted Project

Nov 13 2020

eugenis accepted D91344: [hwasan] Handle possible failure of dladdr.

LGTM
Thank you.

Nov 13 2020, 4:30 PM · Restricted Project

Nov 12 2020

eugenis added inline comments to D91392: [hwasan] Fix Thread reuse (try 2)..
Nov 12 2020, 5:40 PM · Restricted Project
eugenis added inline comments to D91392: [hwasan] Fix Thread reuse (try 2)..
Nov 12 2020, 4:10 PM · Restricted Project
eugenis added a comment to D91392: [hwasan] Fix Thread reuse (try 2)..

This time with a better test using pthread barriers.

Nov 12 2020, 3:40 PM · Restricted Project
eugenis requested review of D91392: [hwasan] Fix Thread reuse (try 2)..
Nov 12 2020, 3:39 PM · Restricted Project
eugenis added a comment to D91258: [clangd] Sanity-check array sizes read from disk before allocating them..

Hi Sam,

Nov 12 2020, 2:59 PM · Restricted Project
eugenis accepted D91320: [msan] Break the getShadow loop after matching an argument.

This is strictly a compilation time optimization, right?

Nov 12 2020, 11:40 AM · Restricted Project
eugenis added a comment to D91344: [hwasan] Handle possible failure of dladdr.

Any idea how this is possible?
We only call this if GetModuleNameAndOffsetForPC succeeds, which should only happen when an address is within a shared object.

Nov 12 2020, 10:50 AM · Restricted Project

Nov 10 2020

eugenis committed rGe1eeb026e66c: [hwasan] Fix Thread reuse. (authored by eugenis).
[hwasan] Fix Thread reuse.
Nov 10 2020, 5:24 PM
eugenis closed D91208: [hwasan] Fix Thread reuse..
Nov 10 2020, 5:24 PM · Restricted Project
eugenis accepted D91219: hwasan: Bring back operator {new,delete} interceptors on Android..

LGTM

Nov 10 2020, 3:57 PM · Restricted Project
eugenis requested review of D91208: [hwasan] Fix Thread reuse..
Nov 10 2020, 2:19 PM · Restricted Project

Oct 30 2020

eugenis accepted D90426: hwasan: Support for outlined checks in the Linux kernel..

LGTM

Oct 30 2020, 12:42 PM · Restricted Project

Oct 29 2020

eugenis added inline comments to D90426: hwasan: Support for outlined checks in the Linux kernel..
Oct 29 2020, 5:18 PM · Restricted Project
eugenis accepted D90425: hwasan: Move fixed shadow behind opaque no-op cast as well..

LGTM

Oct 29 2020, 4:40 PM · Restricted Project
eugenis accepted D90422: AArch64: Switch to x20 as the shadow base register for outlined HWASan checks..

LGTM
I was confused about the ABI statement in the description at the first glance - could you reword it to make it clear that HWASan ABI is not affected?

Oct 29 2020, 4:22 PM · Restricted Project, Restricted Project, Restricted Project
eugenis accepted D90424: AArch64: Use SBFX instead of UBFX to extract address granule in outlined HWASan checks..

LGTM

Oct 29 2020, 4:06 PM · Restricted Project, Restricted Project

Oct 21 2020

eugenis accepted D89827: hwasan: Disable operator {new,delete} interceptors when interceptors are disabled..

LGTM

Oct 21 2020, 12:15 PM · Restricted Project
eugenis added a comment to D89615: Disable emulated-tls and use LLD for compiler-rt+tests on Android.

Why we can't just switch to elf TLS?

It seems to me that ideally the NDK clang should be defaulting to -fno-emulated-tls for android with a new enough target platform version, and should also be defaulting to use lld. I think that's been the plan for a while -- do you know if it's going to actually happen soon?

That might then make some of these changes unnecessary.

@eugenis WDYT?

Oct 21 2020, 12:13 PM · Restricted Project

Oct 20 2020

eugenis added inline comments to D89251: Reland [lsan] Enable LSAN for Android.
Oct 20 2020, 2:23 PM · Restricted Project
eugenis committed rGb3ccfa1e0ce7: [hwasan] Increase max allocation size to 1Tb. (authored by eugenis).
[hwasan] Increase max allocation size to 1Tb.
Oct 20 2020, 2:02 PM
eugenis closed D89750: [hwasan] Increase max allocation size to 1Tb..
Oct 20 2020, 2:02 PM · Restricted Project
eugenis accepted D89766: Driver: Add integer sanitizers to trapping group automatically..

LGTM

Oct 20 2020, 1:42 PM · Restricted Project

Oct 19 2020

eugenis added inline comments to D72366: [AArch64] Stack frame reordering..
Oct 19 2020, 10:00 PM · Restricted Project
eugenis added a comment to D89750: [hwasan] Increase max allocation size to 1Tb..

I think it's good to have a limit so that allocation attempts with obviously wrong sizes are rejected with a clear message.

Oct 19 2020, 5:18 PM · Restricted Project
eugenis updated the diff for D89750: [hwasan] Increase max allocation size to 1Tb..

replaced attribute((packed)) with split storage

Oct 19 2020, 5:14 PM · Restricted Project
eugenis updated the diff for D89750: [hwasan] Increase max allocation size to 1Tb..

.

Oct 19 2020, 4:47 PM · Restricted Project
eugenis updated the diff for D89750: [hwasan] Increase max allocation size to 1Tb..

attribute((packed))

Oct 19 2020, 4:47 PM · Restricted Project
eugenis added a comment to D89750: [hwasan] Increase max allocation size to 1Tb..

This costs 4 bytes per allocation.
We could save some memory by splitting primary and secondary allocator metadata types, but that would require significant code refactoring.

Oct 19 2020, 4:41 PM · Restricted Project
eugenis requested review of D89750: [hwasan] Increase max allocation size to 1Tb..
Oct 19 2020, 4:40 PM · Restricted Project
eugenis added a reverting change for rGd09b08919ca6: [Sanitizers] Remove OpenBSD support: rG7ecd60bb7022: Revert "[Sanitizers] Remove OpenBSD support" + 1.
Oct 19 2020, 4:12 PM
eugenis added a comment to D89640: [Sanitizers] Remove OpenBSD support.

Reverted in 7ecd60bb7022bb681b9dc01a9c232fd93b4b169c

Oct 19 2020, 4:12 PM · Restricted Project
eugenis added a reverting change for rGa7acee89d684: Fix compiler-rt build on Windows after D89640: rG7ecd60bb7022: Revert "[Sanitizers] Remove OpenBSD support" + 1.
Oct 19 2020, 4:12 PM
eugenis committed rG7ecd60bb7022: Revert "[Sanitizers] Remove OpenBSD support" + 1 (authored by eugenis).
Revert "[Sanitizers] Remove OpenBSD support" + 1
Oct 19 2020, 4:12 PM
eugenis added a reverting change for D89640: [Sanitizers] Remove OpenBSD support: rG7ecd60bb7022: Revert "[Sanitizers] Remove OpenBSD support" + 1.
Oct 19 2020, 4:12 PM · Restricted Project
eugenis added inline comments to D89640: [Sanitizers] Remove OpenBSD support.
Oct 19 2020, 3:52 PM · Restricted Project
eugenis committed rG188a7d671019: Add alloca size threshold for StackTagging initializer merging. (authored by eugenis).
Add alloca size threshold for StackTagging initializer merging.
Oct 19 2020, 1:44 PM
eugenis added a comment to D89662: Set Huge Page mode on shadow regions based on no_huge_pages_for_shadow.

But it still seems fine to follow the default setting of
no_huge_pages_for_shadow. If time is an issue, and users are fine with
high RSS, this flag can be set to false selectively.

Oct 19 2020, 12:44 PM · Restricted Project
eugenis added a comment to D89511: Add alloca size threshold for StackTagging initializer merging..

ping

Oct 19 2020, 11:45 AM · Restricted Project