Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 3 2012, 3:00 AM (508 w, 21 h)

Recent Activity

Fri, Jun 24

eugenis added a comment to D124926: [LoopInterchange] New cost model for loop interchange.

Yep. Ubsan does not detect potential overflows, it detects actual overflows as they happen. The problem is real.

Fri, Jun 24, 1:10 PM · Restricted Project, Restricted Project, Restricted Project
eugenis added a comment to D124926: [LoopInterchange] New cost model for loop interchange.

Won't that just make the tests pass, but keep potential integer overflows (UB) in the compiler? Sounds suboptimal.

Fri, Jun 24, 9:00 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Jun 23

eugenis added a reverting change for rG1b24fe34b06c: [LoopInterchange] New cost model for loop interchange: rG878309cc54f1: Revert "[LoopInterchange] New cost model for loop interchange".
Thu, Jun 23, 4:11 PM · Restricted Project, Restricted Project
eugenis committed rG878309cc54f1: Revert "[LoopInterchange] New cost model for loop interchange" (authored by eugenis).
Revert "[LoopInterchange] New cost model for loop interchange"
Thu, Jun 23, 4:11 PM · Restricted Project, Restricted Project
eugenis added a reverting change for D124926: [LoopInterchange] New cost model for loop interchange: rG878309cc54f1: Revert "[LoopInterchange] New cost model for loop interchange".
Thu, Jun 23, 4:11 PM · Restricted Project, Restricted Project, Restricted Project
eugenis added a comment to D124926: [LoopInterchange] New cost model for loop interchange.

This change causes ubsan failures due to integer overflow, see https://lab.llvm.org/buildbot/#/builders/5/builds/25185

Thu, Jun 23, 4:02 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Jun 22

eugenis accepted D127917: [MTE] [HWASan] Use LoopInfo for reachability queries..

LGTM

Wed, Jun 22, 2:15 PM · Restricted Project, Restricted Project
eugenis added a reverting change for rG083010312aa4: [Attributor] Ensure to use the proper liveness AA: rG5011b4ca0e4b: Revert "[Attributor] Ensure to use the proper liveness AA".
Wed, Jun 22, 1:41 PM · Restricted Project, Restricted Project
eugenis committed rG5011b4ca0e4b: Revert "[Attributor] Ensure to use the proper liveness AA" (authored by eugenis).
Revert "[Attributor] Ensure to use the proper liveness AA"
Wed, Jun 22, 1:41 PM · Restricted Project, Restricted Project
eugenis added a comment to rG083010312aa4: [Attributor] Ensure to use the proper liveness AA.

The leaks are still there, reverting.

Wed, Jun 22, 11:23 AM · Restricted Project, Restricted Project
eugenis added a comment to D127917: [MTE] [HWASan] Use LoopInfo for reachability queries..

Could you add a test?

Wed, Jun 22, 11:15 AM · Restricted Project, Restricted Project
eugenis accepted D127905: [MTE] [HWASan] Support diamond lifetimes..

LGTM, this is great!

Wed, Jun 22, 11:12 AM · Restricted Project, Restricted Project
eugenis accepted D127913: [NFC] [HWASan] Remove indirection for getting analyses..

LGTM

Wed, Jun 22, 10:42 AM · Restricted Project, Restricted Project

Wed, Jun 15

eugenis accepted D127860: [msan] Allow KMSAN to use -fsanitize-memory-param-retval.

LGTM

Wed, Jun 15, 3:27 PM · Restricted Project, Restricted Project
eugenis accepted D127552: [ASan] Use debuginfo for symbolization..

LGTM

Wed, Jun 15, 3:11 PM · Restricted Project, Restricted Project

Tue, Jun 14

eugenis accepted D127163: [clang] Add -fsanitize=memtag-globals (no-op)..

LGTM

Tue, Jun 14, 4:45 PM · Restricted Project, Restricted Project
eugenis added inline comments to D127552: [ASan] Use debuginfo for symbolization..
Tue, Jun 14, 4:26 PM · Restricted Project, Restricted Project
eugenis accepted D127621: [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test.

LGTM

Tue, Jun 14, 3:19 PM · Restricted Project, Restricted Project

Tue, Jun 7

eugenis added a comment to D127163: [clang] Add -fsanitize=memtag-globals (no-op)..

I don't have a lot of arguments either way, do you?
Ignorelist support is one for the new sanitizer type.

Tue, Jun 7, 3:16 PM · Restricted Project, Restricted Project
eugenis accepted D127007: [MC] Add 'G' to augmentation string for MTE instrumented functions.

LGTM

Tue, Jun 7, 1:22 PM · Restricted Project, Restricted Project
eugenis added inline comments to D127163: [clang] Add -fsanitize=memtag-globals (no-op)..
Tue, Jun 7, 12:24 PM · Restricted Project, Restricted Project

Mon, Jun 6

eugenis accepted D127148: [ELF] Support 'G' in .eh_frame.

LGTM

Mon, Jun 6, 5:31 PM · Restricted Project, Restricted Project
eugenis added a comment to D127007: [MC] Add 'G' to augmentation string for MTE instrumented functions.

You can llvm-objdump --dwarf=frames a .o file.

Mon, Jun 6, 5:30 PM · Restricted Project, Restricted Project
eugenis added a comment to D127007: [MC] Add 'G' to augmentation string for MTE instrumented functions.

Should we have a test for the augmentation string, through llvm-readelf?

We have that test the follow-up CL that does the change to lld (as requested to be split by MaskRay).

Mon, Jun 6, 5:26 PM · Restricted Project, Restricted Project
eugenis added a comment to D127007: [MC] Add 'G' to augmentation string for MTE instrumented functions.

Should we have a test for the augmentation string, through llvm-readelf?

Mon, Jun 6, 5:18 PM · Restricted Project, Restricted Project
eugenis accepted D127145: [Driver] add -lresolv for all but Android..

Typo: "runttime"

Mon, Jun 6, 3:41 PM · Restricted Project, Restricted Project, Restricted Project
eugenis added a comment to D127145: [Driver] add -lresolv for all but Android..

The interceptor (dn_expand) is only defined on linux && !android, while this code links libresolv on *bsd and others, too. I think it's ok, as long as all platforms with the interceptor are covered.

Mon, Jun 6, 1:58 PM · Restricted Project, Restricted Project, Restricted Project

Thu, Jun 2

eugenis added a comment to D126851: [MSAN] add dn_expand intercept..

We should also add -lresolv to tools::linkSanitizerRuntimeDeps if we are now intercepting functions from there.
Libresolv is part of libc.so on android.

Thu, Jun 2, 1:07 PM · Restricted Project, Restricted Project

May 16 2022

eugenis committed rGd4aacc1a013e: [sanitizer] Don't use newfstatat for Linux on SPARC (authored by glaubitz).
[sanitizer] Don't use newfstatat for Linux on SPARC
May 16 2022, 12:22 PM · Restricted Project, Restricted Project
eugenis closed D125572: [sanitizer] Don't use newfstatat for Linux on SPARC.
May 16 2022, 12:22 PM · Restricted Project, Restricted Project
eugenis accepted D125572: [sanitizer] Don't use newfstatat for Linux on SPARC.

Seems fine to me, if fstatat64 is indeed the canonical syscall on sparc.

May 16 2022, 11:09 AM · Restricted Project, Restricted Project

May 12 2022

eugenis added a comment to D124212: [sanitizer] Use canonical syscalls everywhere.

There's a lot of really quite wonky whitespace reformatting in this diff

FWIW, I have already a draft for fixing this. Will create a revision tomorrow.

EDIT: I mean the build failure on sparc64 ;).

May 12 2022, 1:05 PM · Restricted Project, Restricted Project

May 10 2022

eugenis added a comment to D87580: [RISCV][ASAN] support code for architecture-specific parts of asan.

We've had enough problems with fixed mapping that I prefer dynamic shadow address for anything going forward. Also, fixed mapping address becomes an ABI constant, which causes issues with prebuilt libraries.

May 10 2022, 12:22 PM · Restricted Project, Restricted Project

May 9 2022

eugenis added a comment to D87580: [RISCV][ASAN] support code for architecture-specific parts of asan.

There is a range of addresses where the kernel may place the main executable. It has been extended once in the past (ASLR). ASan mapping is a compile-time constant, so it must work with any location within that range. I suspect that for QEMU this range may be different.

May 9 2022, 2:51 PM · Restricted Project, Restricted Project
eugenis accepted D125143: [HWASan] deflake hwasan_symbolize test.

LGTM

May 9 2022, 2:00 PM · Restricted Project, Restricted Project

May 5 2022

eugenis accepted D124950: [HWASan] Allow to linkify symbolizer output..

LGTM

May 5 2022, 2:55 PM · Restricted Project, Restricted Project
eugenis added inline comments to D124950: [HWASan] Allow to linkify symbolizer output..
May 5 2022, 2:46 PM · Restricted Project, Restricted Project
eugenis accepted D125032: [HWASan] Clean up hwasan_symbolize..

LGTM

May 5 2022, 1:45 PM · Restricted Project, Restricted Project
eugenis accepted D125025: [sanitizer] Correct GetTls for x32.

LGTM

May 5 2022, 1:24 PM · Restricted Project, Restricted Project

May 4 2022

eugenis added a comment to D124950: [HWASan] Allow to linkify symbolizer output..

The approach looks fine. Should we also put a <html></html> pair around the output, or do you want to treat it as a snippet?

May 4 2022, 3:56 PM · Restricted Project, Restricted Project
eugenis added a comment to D124950: [HWASan] Allow to linkify symbolizer output..

This script is starting to get complex. Perhaps we should write tests?

May 4 2022, 3:53 PM · Restricted Project, Restricted Project
eugenis accepted D124968: [sanitizer] Use newfstatat for x32.

LGTM

May 4 2022, 3:37 PM · Restricted Project, Restricted Project

May 3 2022

eugenis added a comment to D124493: Move Sanitizer metadata to be on-GlobalValue..

I've always viewed the current implementation as a hack, and believed this data should live in debug info.

May 3 2022, 12:51 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

May 2 2022

eugenis committed rG696092c703b1: [sanitizer] Use canonical syscalls everywhere (authored by eugenis).
[sanitizer] Use canonical syscalls everywhere
May 2 2022, 1:55 PM · Restricted Project, Restricted Project
eugenis closed D124212: [sanitizer] Use canonical syscalls everywhere.
May 2 2022, 1:54 PM · Restricted Project, Restricted Project
eugenis added a comment to D124212: [sanitizer] Use canonical syscalls everywhere.

(As an aside, what is the reason for not just using the fork syscall anyway? I thought fork should be completely equivalent to clone with the termination signal set to SIGCHLD and no other flags?)

May 2 2022, 1:39 PM · Restricted Project, Restricted Project

Apr 29 2022

eugenis updated the diff for D124212: [sanitizer] Use canonical syscalls everywhere.

Fix internal_fork on s390.

Apr 29 2022, 3:25 PM · Restricted Project, Restricted Project
eugenis added a comment to D87580: [RISCV][ASAN] support code for architecture-specific parts of asan.

The mappings are defined such that the address range where the kernel might place the main executable image do not overlap with the shadow region. This can be different in qemu.

Apr 29 2022, 1:34 PM · Restricted Project, Restricted Project

Apr 28 2022

eugenis planned changes to D124212: [sanitizer] Use canonical syscalls everywhere.

Thanks! I'll update the patch later. Apparently there is like 5 different signatures...

Apr 28 2022, 5:28 PM · Restricted Project, Restricted Project
eugenis added a comment to D124212: [sanitizer] Use canonical syscalls everywhere.

Thanks. Ulrich, could you help me with the s390 failures? I can reland with a #define SANITIZER_USES_CANONICAL_LINUX_SYSCALLS !SANITIZER_S390 for now, but it would be great to remove the non-canonical code path completely.

Apr 28 2022, 8:50 AM · Restricted Project, Restricted Project

Apr 22 2022

eugenis committed rG34b676eb60ca: [sanitizer] Use canonical syscalls everywhere (authored by eugenis).
[sanitizer] Use canonical syscalls everywhere
Apr 22 2022, 12:08 PM · Restricted Project, Restricted Project
eugenis closed D124212: [sanitizer] Use canonical syscalls everywhere.
Apr 22 2022, 12:08 PM · Restricted Project, Restricted Project

Apr 21 2022

eugenis updated the diff for D124212: [sanitizer] Use canonical syscalls everywhere.

.

Apr 21 2022, 5:46 PM · Restricted Project, Restricted Project
eugenis added inline comments to D124212: [sanitizer] Use canonical syscalls everywhere.
Apr 21 2022, 5:46 PM · Restricted Project, Restricted Project
eugenis added inline comments to D124212: [sanitizer] Use canonical syscalls everywhere.
Apr 21 2022, 5:09 PM · Restricted Project, Restricted Project
eugenis updated the diff for D124212: [sanitizer] Use canonical syscalls everywhere.

address comments

Apr 21 2022, 5:08 PM · Restricted Project, Restricted Project
eugenis updated the diff for D124212: [sanitizer] Use canonical syscalls everywhere.

address comments

Apr 21 2022, 4:54 PM · Restricted Project, Restricted Project
eugenis accepted D124135: [scudo] Disable memory tagging on arm64_32.

Mild preference for !defined(__ILP32__).
LGTM

Apr 21 2022, 4:47 PM · Restricted Project, Restricted Project
eugenis requested review of D124212: [sanitizer] Use canonical syscalls everywhere.
Apr 21 2022, 4:17 PM · Restricted Project, Restricted Project
eugenis added a comment to D123910: [HWAsan] Support 4K/8K/16K/64K page size to ring buffer.

Sorry, I did not mean that I was going to implement it.

Apr 21 2022, 2:54 PM · Restricted Project, Restricted Project
eugenis added a comment to D124135: [scudo] Disable memory tagging on arm64_32.

LGTM, but would it be more idiomatic to check for the _ILP32 macro?

Apr 21 2022, 2:53 PM · Restricted Project, Restricted Project

Apr 20 2022

eugenis accepted D124058: [msan] Update Use-after-destruction documentation.
Apr 20 2022, 3:15 PM · Restricted Project, Restricted Project
eugenis accepted D124057: [asan] Enable detect_stack_use_after_return=1 by default on Linux.
Apr 20 2022, 3:15 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
eugenis requested changes to D123910: [HWAsan] Support 4K/8K/16K/64K page size to ring buffer.

I still think that my proposal in the comment above is way better than adding an ABI-breaking compiler flag.

Apr 20 2022, 12:52 PM · Restricted Project, Restricted Project

Apr 19 2022

eugenis added a comment to D123198: [LibCalls] Add argument extension attributes to more functions..

This breaks ubsan on the bot:

Apr 19 2022, 3:25 PM · Restricted Project, Restricted Project
eugenis accepted D124030: [ASan] Removed checks if the tested functions were emitted..
Apr 19 2022, 12:02 PM · Restricted Project, Restricted Project
eugenis added a comment to D123643: [ASan] Fixed a reporting bug in (load|store)N functions which would print unknown-crash instead of the proper error message when a the data access is unaligned..

android_compile script is confused by -emit-llvm it looks like. I'd just remove the IR checks from the test.

Apr 19 2022, 11:55 AM · Restricted Project, Restricted Project

Apr 18 2022

eugenis accepted D123643: [ASan] Fixed a reporting bug in (load|store)N functions which would print unknown-crash instead of the proper error message when a the data access is unaligned..

LGTM w/ nits

Apr 18 2022, 3:22 PM · Restricted Project, Restricted Project
eugenis added a comment to D123910: [HWAsan] Support 4K/8K/16K/64K page size to ring buffer.

Generally, there is no way to tell the target page size in advance. And there is no need for that, too - just untie this value from the page size instead, and fix the munmap issue in the runtime library by up/down aligning the bounds to the runtime page size. You can also increase the default / minimal ring buffer size at runtime to be a multiple of the page size.

Apr 18 2022, 10:30 AM · Restricted Project, Restricted Project

Apr 13 2022

eugenis added inline comments to D123643: [ASan] Fixed a reporting bug in (load|store)N functions which would print unknown-crash instead of the proper error message when a the data access is unaligned..
Apr 13 2022, 5:23 PM · Restricted Project, Restricted Project
eugenis accepted D123644: [HWASan] symbolize: use buildid index for locals..

LGTM

Apr 13 2022, 5:10 PM · Restricted Project, Restricted Project

Apr 12 2022

eugenis accepted D123602: [MSan] Ensure argument shadow initialized on memcpy.

Could you clarify that the problem is specifically with byval argument in the patch description?

Apr 12 2022, 11:31 AM · Restricted Project, Restricted Project
eugenis accepted D123562: [ubsan] Fix print_stacktrace=1:fast_unwind_on_fatal=0 to correctly fallback to fast unwinder.

LGTM

Apr 12 2022, 11:18 AM · Restricted Project, Restricted Project

Apr 11 2022

eugenis accepted D123437: [HWASan] allow symbolizer script to index binaries by build id..

LGTM

Apr 11 2022, 1:44 PM · Restricted Project, Restricted Project
eugenis added inline comments to D123437: [HWASan] allow symbolizer script to index binaries by build id..
Apr 11 2022, 12:53 PM · Restricted Project, Restricted Project

Apr 8 2022

eugenis accepted D118948: [MTE] Add -fsanitize=memtag* and friends..

LGTM

Apr 8 2022, 10:58 AM · Restricted Project, Restricted Project, Restricted Project
eugenis added a comment to D123404: Add one more definition for symbols in prctl unit test. one more follow up to: https://reviews.llvm.org/D122851.

LGTM

Apr 8 2022, 10:22 AM · Restricted Project, Restricted Project
eugenis added a comment to D123395: Add definitions for symbols in unit test for prctl. Follow up to: https://reviews.llvm.org/D122851.

LGTM

Apr 8 2022, 9:00 AM · Restricted Project, Restricted Project

Apr 7 2022

eugenis accepted D122851: [MSAN] extend prctl interceptor to support PR_SCHED_CORE.

LGTM

Apr 7 2022, 3:18 PM · Restricted Project, Restricted Project
eugenis added inline comments to D123312: [ASan] Removed code from unaligned case which was causing wrong reporting..
Apr 7 2022, 2:13 PM · Restricted Project, Restricted Project, Restricted Project

Mar 29 2022

eugenis accepted D122685: [msan] Add link to the lifetime definition.

LGTM

Mar 29 2022, 2:30 PM · Restricted Project, Restricted Project

Mar 17 2022

eugenis accepted D121835: [HWASan] do not replace lifetime intrinsics with tagged address..

LGTM, nice!

Mar 17 2022, 2:20 PM · Restricted Project, Restricted Project

Mar 15 2022

eugenis added a comment to D119384: [ELF][MTE] Add --android-memtag-* options to synthesize ELF notes.
  • Do you need per-object marking that a linker will aggregate? For example do you enable when at least one object needs MTE, or do you need all objects to be compatible with MTE? A per object marking that can be overridden at link time will give you a chance to diagnose objects that may not have the MTE support. It can help to have an assembler option to fabricate the note if objects are used.

The ELF note is coupled with the executable, not the DSOs, and thus the executable decides what MTE options are enabled. In future, there will be a per-DSO progbits section for MTE global descriptors, but these progbits sections will be ignored if the main executable doesn't include the MTE ELF note. And, of course, MTE stack is enabled on a per-CU level.

Mar 15 2022, 1:56 PM · Restricted Project, Restricted Project

Mar 14 2022

eugenis accepted D121433: [MTE] Add test that stack tagging does not mess up stack coloring..

Add a comment at the top for ease of understanding. Something like "Test that storage for allocas with disjoint lifetimes is reused with or without stack tagging"

Mar 14 2022, 1:15 PM · Restricted Project, Restricted Project
eugenis added a comment to D119384: [ELF][MTE] Add --android-memtag-* options to synthesize ELF notes.

The concept of memtag is not android specific, but the current implementation is. It might grow support for other OS targets in the future.

Mar 14 2022, 1:04 PM · Restricted Project, Restricted Project

Mar 10 2022

eugenis added a comment to D119384: [ELF][MTE] Add --android-memtag-* options to synthesize ELF notes.

LGTM

Mar 10 2022, 3:39 PM · Restricted Project, Restricted Project

Mar 8 2022

eugenis accepted D114548: [AArch64] Async unwind - Fix MTE codegen emitting frame adjustments in a loop.

LGTM

Mar 8 2022, 2:25 PM · Restricted Project, Restricted Project

Mar 4 2022

eugenis accepted D120693: [MSAN] extend ioctl interceptor to support BLKSSZGET.

LGTM

Mar 4 2022, 2:11 PM · Restricted Project, Restricted Project
eugenis added inline comments to D120693: [MSAN] extend ioctl interceptor to support BLKSSZGET.
Mar 4 2022, 10:22 AM · Restricted Project, Restricted Project

Mar 3 2022

eugenis added inline comments to D120693: [MSAN] extend ioctl interceptor to support BLKSSZGET.
Mar 3 2022, 6:22 PM · Restricted Project, Restricted Project
eugenis accepted D120866: SafeStack: Re-enable SafeStack coloring optimization.

LGTM

Mar 3 2022, 1:11 PM · Restricted Project, Restricted Project

Mar 1 2022

eugenis added inline comments to D120693: [MSAN] extend ioctl interceptor to support BLKSSZGET.
Mar 1 2022, 11:37 AM · Restricted Project, Restricted Project
eugenis added inline comments to D120693: [MSAN] extend ioctl interceptor to support BLKSSZGET.
Mar 1 2022, 11:34 AM · Restricted Project, Restricted Project
eugenis accepted D120102: [HWASAN] Add test for optnone function..

LGTM

Mar 1 2022, 11:19 AM · Restricted Project, Restricted Project
eugenis added inline comments to D120437: [HWASAN] erase lifetime intrinsics if tag is outside..
Mar 1 2022, 10:53 AM · Restricted Project, Restricted Project, Restricted Project

Feb 28 2022

eugenis accepted D120437: [HWASAN] erase lifetime intrinsics if tag is outside..

LGTM

Feb 28 2022, 2:38 PM · Restricted Project, Restricted Project, Restricted Project

Feb 23 2022

eugenis accepted D119873: [HWASan] add test for debug info of allocas that don't need padding..

LGTM

Feb 23 2022, 1:20 PM · Restricted Project
eugenis added inline comments to D120102: [HWASAN] Add test for optnone function..
Feb 23 2022, 1:19 PM · Restricted Project, Restricted Project

Feb 17 2022

eugenis accepted D119993: [MTE] Instrument use-after-scope for optnone functions..

TBH I'm on the fence about whether poison-at-lifetime is an optimization vs "core functionality", but lets go with this change. The important part is not to run the analysis when the function does not have the attribute (that's what the *-pipeline tests check).

Feb 17 2022, 1:48 PM · Restricted Project
eugenis added a comment to D120080: [ASan] Fix TLS teardown..

Change LGTM but the description does not make any sense to me.

Feb 17 2022, 1:33 PM · Restricted Project