Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 3 2012, 3:00 AM (367 w, 16 h)

Recent Activity

Yesterday

eugenis accepted D68794: libhwasan initialisation include kernel syscall ABI relaxation.

LGTM
Thank you!
Do you want me to submit this change for you?

Tue, Oct 15, 2:23 PM · Restricted Project, Restricted Project

Mon, Oct 14

eugenis added inline comments to D68754: [sanitizers] Update linker scripts to avoid emutls issues..
Mon, Oct 14, 1:44 PM · Restricted Project, Restricted Project
eugenis added a comment to D44077: Clear the stack protector after checking it.

Oh btw please upload diffs with full context in the future:
https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface

Mon, Oct 14, 1:25 PM · Restricted Project
eugenis added a comment to D44077: Clear the stack protector after checking it.

Sorry, but I'm not convinced that the overhead of this change is justified by the security benefit it provides.
I've measured code size overhead (using Chromium on Android as a benchmark) at 0.4%, which is not huge, but still significant.
On the other hand, I'm not at all sure that this would be anything but an inconvenience for an attacker. There are multiple copies of the cookie on the stack anyway (one per every live frame!). Also, taking advantage of the cookies left below SP will become even harder with the new -ftrivial-auto-var-init feature.

Mon, Oct 14, 1:25 PM · Restricted Project

Fri, Oct 11

eugenis added a comment to D68794: libhwasan initialisation include kernel syscall ABI relaxation.

Run prctl syscall for Android, but ignore EINVAL failures.

NOTE: I don't believe this distinguishes between running on a kernel with with the tagged address ABI unconditional or running on a newer kernel or on a kernel with sysctl abi.tagged_addr_disabled=1
(https://android.googlesource.com/kernel/common/+/690c4ca8a5715644370384672f24d95b042db74a/Documentation/arm64/tagged-address-abi.rst)

Fri, Oct 11, 3:00 PM · Restricted Project, Restricted Project

Thu, Oct 10

eugenis committed rG53a53e63c85e: Add a missing include in test. (authored by eugenis).
Add a missing include in test.
Thu, Oct 10, 1:46 PM
eugenis committed rL374448: Add a missing include in test..
Add a missing include in test.
Thu, Oct 10, 1:46 PM
eugenis added a comment to D68794: libhwasan initialisation include kernel syscall ABI relaxation.

Thank you!
The patches have been merged to the android common kernel just a few days ago, 4.14 and 4.19:
https://android.googlesource.com/kernel/common/+/690c4ca8a5715644370384672f24d95b042db74a

Thu, Oct 10, 1:37 PM · Restricted Project, Restricted Project

Tue, Oct 8

eugenis accepted D68469: [AArch64] Ensure no tagged memory is left in the unallocated portion of the stack.

Everything looks great, thanks!

Tue, Oct 8, 4:46 PM · Restricted Project

Mon, Oct 7

eugenis committed rG2e2c93476282: [msan] Add interceptors: crypt, crypt_r. (authored by eugenis).
[msan] Add interceptors: crypt, crypt_r.
Mon, Oct 7, 10:24 PM
eugenis committed rL373993: [msan] Add interceptors: crypt, crypt_r..
[msan] Add interceptors: crypt, crypt_r.
Mon, Oct 7, 10:24 PM
eugenis closed D68431: [msan] Add interceptors: crypt, crypt_r..
Mon, Oct 7, 10:24 PM · Restricted Project, Restricted Project
eugenis updated the diff for D68431: [msan] Add interceptors: crypt, crypt_r..

addressed comments

Mon, Oct 7, 4:48 PM · Restricted Project, Restricted Project
eugenis accepted D68603: [sanitizer] Print SIGTRAP for corresponding signal.

LGTM

Mon, Oct 7, 3:38 PM · Restricted Project, Restricted Project
eugenis accepted D68604: [tsan] Don't delay SIGTRAP handler.

LGTM

Mon, Oct 7, 3:23 PM · Restricted Project, Restricted Project
eugenis added a comment to D68469: [AArch64] Ensure no tagged memory is left in the unallocated portion of the stack.

LGTM modulo the postDominates comment.

Mon, Oct 7, 3:20 PM · Restricted Project
eugenis closed D30121: [asan] Fix dead stripping of globals on Linux..
Mon, Oct 7, 6:23 AM · Restricted Project

Fri, Oct 4

eugenis updated subscribers of D68468: [AArch64] Do not untag before returning via a `resume` instruction.

@pcc We actually went back and forth on this with HWASan, and ended up wrapping personality functions with a small tag cleanup routine:
https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp#L1435

Fri, Oct 4, 2:04 PM · Restricted Project
eugenis added inline comments to D68469: [AArch64] Ensure no tagged memory is left in the unallocated portion of the stack.
Fri, Oct 4, 1:47 PM · Restricted Project

Thu, Oct 3

eugenis added inline comments to D68431: [msan] Add interceptors: crypt, crypt_r..
Thu, Oct 3, 5:54 PM · Restricted Project, Restricted Project
eugenis accepted D67945: LowerTypeTests: Rename local functions to avoid collisions with identically named functions in ThinLTO modules..

LGTM

Thu, Oct 3, 4:06 PM · Restricted Project
eugenis created D68431: [msan] Add interceptors: crypt, crypt_r..
Thu, Oct 3, 3:15 PM · Restricted Project, Restricted Project

Wed, Oct 2

eugenis committed rG464df87288f7: Handle llvm.launder.invariant.group in msan. (authored by eugenis).
Handle llvm.launder.invariant.group in msan.
Wed, Oct 2, 12:53 PM
eugenis committed rL373515: Handle llvm.launder.invariant.group in msan..
Handle llvm.launder.invariant.group in msan.
Wed, Oct 2, 12:53 PM
eugenis closed D68236: Handle llvm.launder.invariant.group in msan..
Wed, Oct 2, 12:53 PM · Restricted Project
eugenis accepted D68313: [compiler-rt] Use GetNextInstructionPc in signal handlers.
Wed, Oct 2, 11:01 AM · Restricted Project, Restricted Project
eugenis requested changes to D68313: [compiler-rt] Use GetNextInstructionPc in signal handlers.
Wed, Oct 2, 10:46 AM · Restricted Project, Restricted Project
eugenis accepted D68313: [compiler-rt] Use GetNextInstructionPc in signal handlers.

LGTM

Wed, Oct 2, 10:46 AM · Restricted Project, Restricted Project
eugenis accepted D68177: compiler-rt: move all __GLIBC_PREREQ into own header file.

LGTM

Wed, Oct 2, 10:06 AM · Restricted Project, Restricted Project

Tue, Oct 1

eugenis accepted D68236: Handle llvm.launder.invariant.group in msan..

LGTM with one more test

Tue, Oct 1, 1:10 PM · Restricted Project
eugenis accepted D67989: [ValueTracking] Improve pointer offset computation for cases of same base.

I think this can be easily generalized even more to handle the case when both Ptr1 and Ptr2 are GEPs of some common base - replace getOffsetFromBase with getOffsetAndBase, check that the bases are the same, return the difference between offsets.

Tue, Oct 1, 10:57 AM · Restricted Project

Mon, Sep 30

eugenis added a comment to D68236: Handle llvm.launder.invariant.group in msan..

Thank you.
Do you mind handling llvm.strip.invariant.group in the same change?

Mon, Sep 30, 1:16 PM · Restricted Project
eugenis accepted D68178: compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM.

LGTM

Mon, Sep 30, 10:55 AM · Restricted Project, Restricted Project
eugenis accepted D68177: compiler-rt: move all __GLIBC_PREREQ into own header file.

LGTM

Mon, Sep 30, 10:54 AM · Restricted Project, Restricted Project
eugenis committed rG72131161a419: [msan] Intercept __getrlimit. (authored by eugenis).
[msan] Intercept __getrlimit.
Mon, Sep 30, 10:50 AM
eugenis committed rL373239: [msan] Intercept __getrlimit..
[msan] Intercept __getrlimit.
Mon, Sep 30, 10:48 AM
eugenis closed D68168: [msan] Intercept __getrlimit..
Mon, Sep 30, 10:48 AM · Restricted Project, Restricted Project
eugenis added inline comments to D68177: compiler-rt: move all __GLIBC_PREREQ into own header file.
Mon, Sep 30, 10:39 AM · Restricted Project, Restricted Project

Fri, Sep 27

eugenis created D68168: [msan] Intercept __getrlimit..
Fri, Sep 27, 4:15 PM · Restricted Project, Restricted Project

Thu, Sep 26

eugenis accepted D68059: hwasan: Compatibility fixes for short granules..

LGTM

Thu, Sep 26, 5:16 PM · Restricted Project, Restricted Project

Wed, Sep 25

eugenis added inline comments to D68059: hwasan: Compatibility fixes for short granules..
Wed, Sep 25, 6:11 PM · Restricted Project, Restricted Project
eugenis committed rG8b5783194ced: Fix memory leak in DeclTest. (authored by eugenis).
Fix memory leak in DeclTest.
Wed, Sep 25, 3:38 PM
eugenis committed rL372925: Fix memory leak in DeclTest..
Fix memory leak in DeclTest.
Wed, Sep 25, 3:36 PM

Fri, Sep 20

eugenis committed rL372433: Remove sanitizer-aarch64-linux-mte bot..
Remove sanitizer-aarch64-linux-mte bot.
Fri, Sep 20, 3:23 PM
eugenis committed rGc2bda3e422a9: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer. (authored by eugenis).
[MTE] Handle MTE instructions in AArch64LoadStoreOptimizer.
Fri, Sep 20, 10:41 AM
eugenis committed rL372412: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..
[MTE] Handle MTE instructions in AArch64LoadStoreOptimizer.
Fri, Sep 20, 10:35 AM
eugenis closed D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..
Fri, Sep 20, 10:35 AM · Restricted Project

Thu, Sep 19

eugenis added a comment to D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..

I've noticed that the spec does not say that STGP with the same source and address register is unpredictable, and instead defines it to update the writeback register after the source register is read. This lets us merge STGP forward, but not backward. Implemented with tests.

Thu, Sep 19, 1:56 PM · Restricted Project
eugenis updated the diff for D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..

Added merging of STGP with the same source and address register.
Added more tests.
Fixed a comment.

Thu, Sep 19, 1:56 PM · Restricted Project
eugenis committed rGf1b6bd403d52: [lsan] Fix deadlock in dl_iterate_phdr. (authored by eugenis).
[lsan] Fix deadlock in dl_iterate_phdr.
Thu, Sep 19, 12:53 PM
eugenis committed rL372348: [lsan] Fix deadlock in dl_iterate_phdr..
[lsan] Fix deadlock in dl_iterate_phdr.
Thu, Sep 19, 12:52 PM
eugenis closed D67738: [lsan] Fix deadlock in dl_iterate_phdr..
Thu, Sep 19, 12:52 PM · Restricted Project, Restricted Project
eugenis updated the diff for D67738: [lsan] Fix deadlock in dl_iterate_phdr..

addressed review comments

Thu, Sep 19, 12:47 PM · Restricted Project, Restricted Project

Wed, Sep 18

eugenis created D67741: [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer..
Wed, Sep 18, 5:04 PM · Restricted Project
eugenis created D67738: [lsan] Fix deadlock in dl_iterate_phdr..
Wed, Sep 18, 4:04 PM · Restricted Project, Restricted Project

Sep 9 2019

eugenis committed rGf0e2755b45a4: LangRef: mention MSan's problem with speculative conditional branches. (authored by eugenis).
LangRef: mention MSan's problem with speculative conditional branches.
Sep 9 2019, 3:26 PM
eugenis committed rL371461: LangRef: mention MSan's problem with speculative conditional branches..
LangRef: mention MSan's problem with speculative conditional branches.
Sep 9 2019, 3:26 PM
eugenis closed D67244: LangRef: mention MSan's problem with speculative conditional branches..
Sep 9 2019, 3:26 PM · Restricted Project

Sep 5 2019

eugenis added inline comments to D67244: LangRef: mention MSan's problem with speculative conditional branches..
Sep 5 2019, 4:26 PM · Restricted Project
eugenis updated the diff for D67244: LangRef: mention MSan's problem with speculative conditional branches..

.

Sep 5 2019, 4:26 PM · Restricted Project
eugenis created D67244: LangRef: mention MSan's problem with speculative conditional branches..
Sep 5 2019, 4:16 PM · Restricted Project
eugenis accepted D67205: [SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase.

I'll update LangRef.

Sep 5 2019, 3:47 PM · Restricted Project
eugenis added a comment to D67205: [SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase.

Basically, the only rule is that you should not speculatively introduce a conditional branch on value that might be undef and is not guaranteed to execute in the input IR.

Sep 5 2019, 1:14 PM · Restricted Project

Sep 3 2019

eugenis committed rL370806: Request commit access for eugenis.
Request commit access for eugenis
Sep 3 2019, 11:23 AM

Aug 30 2019

eugenis committed rG04647f5e222b: MemTag: unchecked load/store optimization. (authored by eugenis).
MemTag: unchecked load/store optimization.
Aug 30 2019, 10:23 AM
eugenis committed rL370490: MemTag: unchecked load/store optimization..
MemTag: unchecked load/store optimization.
Aug 30 2019, 10:23 AM
eugenis closed D66457: MemTag: unchecked load/store optimization..
Aug 30 2019, 10:23 AM · Restricted Project

Aug 28 2019

eugenis updated the diff for D66457: MemTag: unchecked load/store optimization..

Addressed review comment. Renamed the -mllvm flag to match naming style of the other stack tagging flags.

Aug 28 2019, 5:52 PM · Restricted Project

Aug 27 2019

eugenis added inline comments to D66829: [zorg] Switch sanitizer-x86_64-linux-fast to use git.
Aug 27 2019, 2:19 PM · Restricted Project
eugenis accepted D66776: Add GWP-ASan fuzz target to compiler-rt/tools..

LGTM

Aug 27 2019, 11:03 AM · Restricted Project, Restricted Project

Aug 26 2019

eugenis committed rGed4fefb0df94: [hwasan] Fix test failure in r369721. (authored by eugenis).
[hwasan] Fix test failure in r369721.
Aug 26 2019, 2:47 PM
eugenis committed rL369977: [hwasan] Fix test failure in r369721..
[hwasan] Fix test failure in r369721.
Aug 26 2019, 2:47 PM
eugenis accepted D66697: hwasan, codegen: Keep more lifetime markers used for hwasan.

LGTM

Aug 26 2019, 11:02 AM · Restricted Project, Restricted Project
eugenis accepted D66695: msan, codegen, instcombine: Keep more lifetime markers used for msan.

LGTM

Aug 26 2019, 11:01 AM · Restricted Project, Restricted Project, Restricted Project

Aug 23 2019

eugenis accepted D66692: hwasan: Align n_namesz and n_descsz to 4 when reading notes..

LGTM

Aug 23 2019, 4:29 PM · Restricted Project, Restricted Project
eugenis accepted D66684: [GWP-ASan] Split options_parser and backtrace_sanitizer_common..

LGTM

Aug 23 2019, 3:24 PM · Restricted Project, Restricted Project
eugenis accepted D65322: [asan_symbolize] Avoid blocking when llvm-symbolizer is installed as addr2line.

LGTM

Aug 23 2019, 10:54 AM · Restricted Project, Restricted Project

Aug 22 2019

eugenis accepted D66377: hwasan: Untag unwound stack frames by wrapping personality functions..

LGTM

Aug 22 2019, 5:58 PM · Restricted Project, Restricted Project
eugenis added a comment to D66377: hwasan: Untag unwound stack frames by wrapping personality functions..

What's the binary size overhead? I assume most of it comes from adding personality functions to noexcept but !nounwind functions?

Aug 22 2019, 4:51 PM · Restricted Project, Restricted Project

Aug 19 2019

eugenis created D66457: MemTag: unchecked load/store optimization..
Aug 19 2019, 6:33 PM · Restricted Project
eugenis committed rG55ccd16354d9: Refactor isPointerOffset (NFC). (authored by eugenis).
Refactor isPointerOffset (NFC).
Aug 19 2019, 2:13 PM
eugenis committed rL369300: Refactor isPointerOffset (NFC)..
Refactor isPointerOffset (NFC).
Aug 19 2019, 2:11 PM
eugenis closed D66317: Refactor isPointerOffset (NFC)..
Aug 19 2019, 2:11 PM · Restricted Project
eugenis updated the diff for D66317: Refactor isPointerOffset (NFC)..

address comments

Aug 19 2019, 2:08 PM · Restricted Project
eugenis committed rG50affbe47fc9: MemTag: stack initializer merging. (authored by eugenis).
MemTag: stack initializer merging.
Aug 19 2019, 1:50 PM
eugenis committed rL369297: MemTag: stack initializer merging..
MemTag: stack initializer merging.
Aug 19 2019, 1:46 PM
eugenis closed D66167: MemTag: stack initializer merging..
Aug 19 2019, 1:46 PM · Restricted Project
eugenis updated the diff for D66167: MemTag: stack initializer merging..

addressed review comments

Aug 19 2019, 1:31 PM · Restricted Project
eugenis added a comment to rL366708: Revert "Reland [ELF] Loose a condition for relocation with a symbol".

We are still interested in gold compatibility, I think.

Aug 19 2019, 11:06 AM

Aug 16 2019

eugenis committed rL369178: Add sanitizer-aarch64-linux-mte builder..
Add sanitizer-aarch64-linux-mte builder.
Aug 16 2019, 5:15 PM
eugenis closed D66375: Add sanitizer-aarch64-linux-mte builder..
Aug 16 2019, 5:15 PM · Restricted Project
eugenis updated the diff for D66375: Add sanitizer-aarch64-linux-mte builder..

.

Aug 16 2019, 5:14 PM · Restricted Project
eugenis created D66375: Add sanitizer-aarch64-linux-mte builder..
Aug 16 2019, 5:06 PM · Restricted Project
eugenis committed rL369176: Add "sanitizer-aarch64-linux-mte" build script..
Add "sanitizer-aarch64-linux-mte" build script.
Aug 16 2019, 4:56 PM
eugenis added a comment to D66337: [AArch64InstrInfo] Stop getInstSizeInBytes returning non-zero for meta instructions..

I've committed a better fix in r369138.

Aug 16 2019, 11:25 AM · Restricted Project
eugenis committed rG187c63f14539: Escape % in printf format string. (authored by eugenis).
Escape % in printf format string.
Aug 16 2019, 11:24 AM
eugenis committed rL369138: Escape % in printf format string..
Escape % in printf format string.
Aug 16 2019, 11:24 AM

Aug 15 2019

eugenis added a comment to D66189: [GWP-ASan] Implement stack frame compression..

This build is on r369069 and still has the problem:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/23577

Aug 15 2019, 6:03 PM · Restricted Project, Restricted Project
eugenis added inline comments to D66167: MemTag: stack initializer merging..
Aug 15 2019, 4:54 PM · Restricted Project
eugenis created D66317: Refactor isPointerOffset (NFC)..
Aug 15 2019, 4:03 PM · Restricted Project