Page MenuHomePhabricator

vlad.tsyrklevich (Vlad Tsyrklevich)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 6 2017, 11:40 PM (123 w, 5 d)

Recent Activity

Wed, May 8

vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

One thing I also just realized is that by explicitly setting TLS model to initial-exec we prevent dlopen() dynamic loading, I don't have a problem with that but just wanted to make sure @cryptoad was aware.

Wed, May 8, 9:37 AM · Restricted Project, Restricted Project, Restricted Project

Mon, May 6

vlad.tsyrklevich accepted D60593: [GwpAsan] Introduce GWP-ASan..
Mon, May 6, 1:12 PM · Restricted Project, Restricted Project, Restricted Project

Fri, May 3

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Fri, May 3, 12:10 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Fri, May 3, 12:04 PM · Restricted Project, Restricted Project, Restricted Project

Thu, May 2

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Thu, May 2, 12:27 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Apr 30

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Tue, Apr 30, 1:49 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..
  • Added a thread contention test. Creates allocations using multiple threads and checks to see that a guarded slot is never allocated twice. Also tests against the random slot selection.
Tue, Apr 30, 1:27 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Apr 24

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Wed, Apr 24, 6:29 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich requested changes to D60593: [GwpAsan] Introduce GWP-ASan..

Found some bugs, requesting changes to track that I'd like to review the fixes and tests for that behavior.

Wed, Apr 24, 5:49 PM · Restricted Project, Restricted Project, Restricted Project

Apr 22 2019

vlad.tsyrklevich accepted D60593: [GwpAsan] Introduce GWP-ASan..

LGTM other than nits

Apr 22 2019, 5:35 PM · Restricted Project, Restricted Project, Restricted Project

Apr 19 2019

vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

I believe the short circuiting of the IsInitialised load/branch in the general case basically leads to the performance being the same. The values are so close that I'm willing to believe that it's within margin-of-error, but some minor microarchitectural feature could also be leading to the ret version being faster.

Apr 19 2019, 4:19 PM · Restricted Project, Restricted Project, Restricted Project

Apr 18 2019

vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

For the branch case, I had the conditional branch outside of NextSampleCounter == 0, so that the RT-disabled would incur minimal overhead (single branch instead of two branches), e.g.

shouldSample() {
  if (!IsInitialised) return false;
  if (NextSampleCounter == 0`) ...
Apr 18 2019, 4:23 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..
OptionMedian Time (with 20 runs)Runtime increase relative to CT-Disabled
Compile-time disabled3.5715s0.0000%
Runtime disabled (init check in ret)3.6490s2.1239%
Runtime disabled (init check in branch)3.6350s1.7469%
Runtime enabled (init check in ret)3.6435s1.9761%
Runtime enabled (init check in branch)3.6500s2.1507%
Apr 18 2019, 10:55 AM · Restricted Project, Restricted Project, Restricted Project

Apr 16 2019

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Apr 16 2019, 4:38 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Apr 16 2019, 12:39 PM · Restricted Project, Restricted Project, Restricted Project

Apr 12 2019

vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

I've implemented them here because it gives us a few benefits:

  1. Allows us to test different configuration options at runtime without a recompile.
  2. Gives allocators more choice as to how they use GWP-ASan (they might provide alignment guarantees that we can't).
  3. We can A/B test deployments in production. We can have half a fleet using OddLeftEvenRight and half a fleet using OddRightEvenLeft, and this may hypothetically give us the best chance of finding bugs.

    Happy to take feedback on this, if others see it as unneccessary we can delete them.
Apr 12 2019, 4:00 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Apr 12 2019, 7:26 AM · Restricted Project, Restricted Project, Restricted Project

Apr 11 2019

vlad.tsyrklevich added inline comments to D60593: [GwpAsan] Introduce GWP-ASan..
Apr 11 2019, 8:52 PM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

Some thoughts after taking a quick glance at this:

  • AllocationStrategy/AlignmentStrategy don’t seem useful to me as they are. Are they just for testing? Could we get rid of them by allocating full-page allocations instead in the under/overflow tests instead? They complicate the implementation and I don’t know why people would use them outside of flipping a flag to say “full right-alignment” instead of whatever reasonable alignment strategy we choose for them. Perhaps collapse both into a single bool PerfectlyRightAlign flag and just have the default alignment strategy be something we choose?
  • What is the plan for adding stack trace support?
Apr 11 2019, 6:38 PM · Restricted Project, Restricted Project, Restricted Project

Mar 13 2019

vlad.tsyrklevich added inline comments to D59254: [RFC] Implementation of Clang randstruct.
Mar 13 2019, 8:29 PM · Restricted Project

Mar 7 2019

vlad.tsyrklevich committed rG2e1479e2f2dd: Delete x86_64 ShadowCallStack support (authored by vlad.tsyrklevich).
Delete x86_64 ShadowCallStack support
Mar 7 2019, 10:56 AM
vlad.tsyrklevich committed rL355624: Delete x86_64 ShadowCallStack support.
Delete x86_64 ShadowCallStack support
Mar 7 2019, 10:56 AM
vlad.tsyrklevich committed rCRT355624: Delete x86_64 ShadowCallStack support.
Delete x86_64 ShadowCallStack support
Mar 7 2019, 10:56 AM
vlad.tsyrklevich committed rC355624: Delete x86_64 ShadowCallStack support.
Delete x86_64 ShadowCallStack support
Mar 7 2019, 10:56 AM
vlad.tsyrklevich closed D59034: Delete x86_64 ShadowCallStack support.
Mar 7 2019, 10:56 AM · Restricted Project, Restricted Project, Restricted Project
vlad.tsyrklevich updated the diff for D59034: Delete x86_64 ShadowCallStack support.
  • Keep x86_64 doc link
Mar 7 2019, 10:34 AM · Restricted Project, Restricted Project, Restricted Project

Mar 6 2019

vlad.tsyrklevich created D59034: Delete x86_64 ShadowCallStack support.
Mar 6 2019, 11:12 AM · Restricted Project, Restricted Project, Restricted Project

Mar 1 2019

vlad.tsyrklevich committed rG53a9f1d3676c: Revert "[DWARFFormValue] Cleanup DWARFFormValue interface. (2/2) (NFC)" (authored by vlad.tsyrklevich).
Revert "[DWARFFormValue] Cleanup DWARFFormValue interface. (2/2) (NFC)"
Mar 1 2019, 5:10 PM
vlad.tsyrklevich committed rL355255: Revert "[DWARFFormValue] Cleanup DWARFFormValue interface. (2/2) (NFC)".
Revert "[DWARFFormValue] Cleanup DWARFFormValue interface. (2/2) (NFC)"
Mar 1 2019, 5:09 PM
vlad.tsyrklevich committed rGa8af6ca06523: Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"" (authored by vlad.tsyrklevich).
Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW""
Mar 1 2019, 4:47 PM
vlad.tsyrklevich committed rCRT355251: Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"".
Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW""
Mar 1 2019, 4:46 PM
vlad.tsyrklevich committed rL355251: Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"".
Revert "Revert "[sanitizers] Don't use Windows Trace Logging on MinGW""
Mar 1 2019, 4:46 PM
vlad.tsyrklevich committed rGa75077bc7386: Revert "[sanitizers] Don't use Windows Trace Logging on MinGW" (authored by vlad.tsyrklevich).
Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"
Mar 1 2019, 4:39 PM
vlad.tsyrklevich committed rL355250: Revert "[sanitizers] Don't use Windows Trace Logging on MinGW".
Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"
Mar 1 2019, 4:39 PM
vlad.tsyrklevich committed rCRT355250: Revert "[sanitizers] Don't use Windows Trace Logging on MinGW".
Revert "[sanitizers] Don't use Windows Trace Logging on MinGW"
Mar 1 2019, 4:38 PM
vlad.tsyrklevich committed rG892513800747: Revert "[MIPS GlobalISel] Fix mul operands" (authored by vlad.tsyrklevich).
Revert "[MIPS GlobalISel] Fix mul operands"
Mar 1 2019, 11:02 AM
vlad.tsyrklevich committed rL355219: Revert "[MIPS GlobalISel] Fix mul operands".
Revert "[MIPS GlobalISel] Fix mul operands"
Mar 1 2019, 11:02 AM

Feb 26 2019

vlad.tsyrklevich committed rGc01643087e71: Revert "[PGO] Context sensitive PGO (part 1)" (authored by vlad.tsyrklevich).
Revert "[PGO] Context sensitive PGO (part 1)"
Feb 26 2019, 7:47 PM
vlad.tsyrklevich committed rL354953: Revert "[PGO] Context sensitive PGO (part 1)".
Revert "[PGO] Context sensitive PGO (part 1)"
Feb 26 2019, 7:47 PM
vlad.tsyrklevich committed rG443e00a51bb9: Revert "[compiler-rt] Intercept the bcmp() function." (authored by vlad.tsyrklevich).
Revert "[compiler-rt] Intercept the bcmp() function."
Feb 26 2019, 10:31 AM
vlad.tsyrklevich added a reverting change for rCRT354852: [compiler-rt] Fix test broken by r354851.: rCRT354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Feb 26 2019, 10:28 AM
vlad.tsyrklevich committed rCRT354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Revert "[compiler-rt] Intercept the bcmp() function."
Feb 26 2019, 10:28 AM
vlad.tsyrklevich added a reverting change for rCRT354853: [compiler-rt] disable asan bcmp tests on android.: rCRT354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Feb 26 2019, 10:28 AM
vlad.tsyrklevich committed rL354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Revert "[compiler-rt] Intercept the bcmp() function."
Feb 26 2019, 10:27 AM
vlad.tsyrklevich added a reverting change for rL354853: [compiler-rt] disable asan bcmp tests on android.: rL354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Feb 26 2019, 10:27 AM
vlad.tsyrklevich added a reverting change for rL354852: [compiler-rt] Fix test broken by r354851.: rL354906: Revert "[compiler-rt] Intercept the bcmp() function.".
Feb 26 2019, 10:27 AM

Feb 25 2019

vlad.tsyrklevich committed rGc6d54ae9daad: Revert "Improve "llvm-nm -f sysv" output for Elf files" (authored by vlad.tsyrklevich).
Revert "Improve "llvm-nm -f sysv" output for Elf files"
Feb 25 2019, 11:06 PM
vlad.tsyrklevich committed rL354849: Revert "Improve "llvm-nm -f sysv" output for Elf files".
Revert "Improve "llvm-nm -f sysv" output for Elf files"
Feb 25 2019, 11:05 PM
vlad.tsyrklevich committed rGe50038e4dc53: Revert "Make static counters in ASTContext non-static." (authored by vlad.tsyrklevich).
Revert "Make static counters in ASTContext non-static."
Feb 25 2019, 11:54 AM
vlad.tsyrklevich committed rC354812: Revert "Make static counters in ASTContext non-static.".
Revert "Make static counters in ASTContext non-static."
Feb 25 2019, 11:54 AM
vlad.tsyrklevich committed rL354812: Revert "Make static counters in ASTContext non-static.".
Revert "Make static counters in ASTContext non-static."
Feb 25 2019, 11:54 AM

Feb 12 2019

vlad.tsyrklevich accepted D58105: docs: Update the ShadowCallStack documentation..
Feb 12 2019, 2:12 PM · Restricted Project

Feb 7 2019

vlad.tsyrklevich accepted D57924: [safestack] Remove pageSize.

LGTM as long as https://reviews.llvm.org/D57863 doesn't land (to ensure that struct tinfo *tinfo = reinterpret_cast<struct tinfo *>(addr); is a valid pointer to writable memory as the guard is no longer rounded up to page size.)

Feb 7 2019, 3:17 PM · Restricted Project, Restricted Project
vlad.tsyrklevich accepted D57863: [safestack] Explain why tinfo at the end of the buffer.
Feb 7 2019, 2:15 PM · Restricted Project, Restricted Project
vlad.tsyrklevich added a comment to D57924: [safestack] Remove pageSize.

Alternatively, we could have a static buffer we use as a 'temporary' safe stack while initialization runs. I'm not really set on that idea, but it seems cleaner and like it may be more future proof in case another syscall we use (like getrlimit() right now) is intercepted. What do you think?

Feb 7 2019, 1:49 PM · Restricted Project, Restricted Project
vlad.tsyrklevich added inline comments to D57863: [safestack] Explain why tinfo at the end of the buffer.
Feb 7 2019, 1:39 PM · Restricted Project, Restricted Project
vlad.tsyrklevich accepted D57866: [safestack] Don't crash if stack size is not aligned as expected.
Feb 7 2019, 12:37 PM · Restricted Project, Restricted Project

Jan 18 2019

vlad.tsyrklevich committed rC351528: Fix failing MSan bots.
Fix failing MSan bots
Jan 18 2019, 12:47 AM
vlad.tsyrklevich committed rL351528: Fix failing MSan bots.
Fix failing MSan bots
Jan 18 2019, 12:47 AM

Jan 17 2019

vlad.tsyrklevich committed rC351457: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
TLS: Respect visibility for thread_local variables on Darwin (PR40327)
Jan 17 2019, 9:57 AM
vlad.tsyrklevich committed rL351457: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
TLS: Respect visibility for thread_local variables on Darwin (PR40327)
Jan 17 2019, 9:57 AM
vlad.tsyrklevich closed D56818: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
Jan 17 2019, 9:57 AM

Jan 16 2019

vlad.tsyrklevich added inline comments to D56818: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
Jan 16 2019, 9:50 PM
vlad.tsyrklevich added inline comments to D56818: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
Jan 16 2019, 9:37 PM
vlad.tsyrklevich added a comment to D56818: TLS: Respect visibility for thread_local variables on Darwin (PR40327).

John I took a brief at look at the visibility for templated thread_local variables on Darwin and they looked correct at a glance, though I'm not confident I understand the ABI well enough to understand exactly how the linkonce*/weak_odr case differs between Darwin and other platforms.

Jan 16 2019, 3:34 PM
vlad.tsyrklevich created D56818: TLS: Respect visibility for thread_local variables on Darwin (PR40327).
Jan 16 2019, 3:28 PM

Jan 15 2019

vlad.tsyrklevich committed rL351282: Revert "[Tooling] Make clang-tool find libc++ dir on mac when running on a file….
Revert "[Tooling] Make clang-tool find libc++ dir on mac when running on a file…
Jan 15 2019, 4:41 PM
vlad.tsyrklevich committed rC351282: Revert "[Tooling] Make clang-tool find libc++ dir on mac when running on a file….
Revert "[Tooling] Make clang-tool find libc++ dir on mac when running on a file…
Jan 15 2019, 4:41 PM

Jan 14 2019

vlad.tsyrklevich committed rC351159: Revert alignment assumptions changes.
Revert alignment assumptions changes
Jan 14 2019, 7:42 PM
vlad.tsyrklevich committed rL351159: Revert alignment assumptions changes.
Revert alignment assumptions changes
Jan 14 2019, 7:42 PM
vlad.tsyrklevich committed rCRT351159: Revert alignment assumptions changes.
Revert alignment assumptions changes
Jan 14 2019, 7:42 PM
vlad.tsyrklevich committed rCRT351153: Silence failing tests.
Silence failing tests
Jan 14 2019, 6:26 PM
vlad.tsyrklevich committed rL351153: Silence failing tests.
Silence failing tests
Jan 14 2019, 6:26 PM

Dec 13 2018

vlad.tsyrklevich committed rL349115: Windows ASan: Instrument _msize_base().
Windows ASan: Instrument _msize_base()
Dec 13 2018, 4:42 PM
vlad.tsyrklevich committed rCRT349115: Windows ASan: Instrument _msize_base().
Windows ASan: Instrument _msize_base()
Dec 13 2018, 4:42 PM
vlad.tsyrklevich closed D55684: Windows ASan: Instrument _msize_base().
Dec 13 2018, 4:42 PM
vlad.tsyrklevich added reviewers for D55684: Windows ASan: Instrument _msize_base(): rnk, Restricted Project.
Dec 13 2018, 4:08 PM
vlad.tsyrklevich created D55684: Windows ASan: Instrument _msize_base().
Dec 13 2018, 4:07 PM

Nov 26 2018

vlad.tsyrklevich accepted D54543: [stack-safety] Inter-Procedural Analysis implementation.
Nov 26 2018, 11:44 AM
vlad.tsyrklevich accepted D54504: [stack-safety] Local analysis implementation.

modulo nits on updating comments that I left earlier

Nov 26 2018, 11:37 AM
vlad.tsyrklevich added a comment to D54504: [stack-safety] Local analysis implementation.

I've been busy and still haven't had a chance to run down why the behavior of %z in the NonConstantOffset() test changes so oddly with different select values.

Nov 26 2018, 11:01 AM
vlad.tsyrklevich accepted D54541: [stack-safety] Empty local passes for Stack Safety Global Analysis.
Nov 26 2018, 10:58 AM
vlad.tsyrklevich accepted D54502: [stack-safety] Empty local passes for Stack Safety Local Analysis.
Nov 26 2018, 10:58 AM

Nov 15 2018

vlad.tsyrklevich added a comment to D54543: [stack-safety] Inter-Procedural Analysis implementation.

Can we reconsider this later. I've added TODO. Probably these are implementation details which are unneeded.

Nov 15 2018, 4:27 PM
vlad.tsyrklevich added a comment to D54543: [stack-safety] Inter-Procedural Analysis implementation.

That's unfortunate, as now we can keep checks for local and global passes mostly the same and highlight the difference with branched LOCAL-NEXT/GLOBAL-NEXT

Nov 15 2018, 12:26 PM
vlad.tsyrklevich added inline comments to D54502: [stack-safety] Empty local passes for Stack Safety Local Analysis.
Nov 15 2018, 6:47 AM
vlad.tsyrklevich added inline comments to D54541: [stack-safety] Empty local passes for Stack Safety Global Analysis.
Nov 15 2018, 6:47 AM
vlad.tsyrklevich added inline comments to D54504: [stack-safety] Local analysis implementation.
Nov 15 2018, 6:47 AM
vlad.tsyrklevich added a comment to D54543: [stack-safety] Inter-Procedural Analysis implementation.

The local tests that check for use 'empty-set, $CALL_INFO' for the local and 'full-set, $CALL_INFO' for the global analysis is sort of confusing. It seems like the use is safe in local analysis (empty-set means no uses!) but unsafe in the global, when really the situation is actually local analysis has 'no local uses but used in function calls' and the global analysis is just 'it's safe/unsafe (function call info is integrated into the previous distintion)'. Maybe we should clear all of the UseInfo::Calls fields at the end of StackSafetyDataFlowAnalysis?

Nov 15 2018, 6:46 AM

Oct 27 2018

vlad.tsyrklevich committed rL345457: Revert "DebugInfo: reduce DIE range verification on object files".
Revert "DebugInfo: reduce DIE range verification on object files"
Oct 27 2018, 10:41 AM

Oct 26 2018

vlad.tsyrklevich committed rL345397: Revert "UBSan blacklist workaround for bot timeouts".
Revert "UBSan blacklist workaround for bot timeouts"
Oct 26 2018, 9:09 AM

Oct 25 2018

vlad.tsyrklevich committed rL345356: Revert "[AArch64] Create proper memoperand for multi-vector stores".
Revert "[AArch64] Create proper memoperand for multi-vector stores"
Oct 25 2018, 7:02 PM

Oct 22 2018

vlad.tsyrklevich committed rC344961: Revert "Ensure sanitizer check function calls have a !dbg location".
Revert "Ensure sanitizer check function calls have a !dbg location"
Oct 22 2018, 2:54 PM
vlad.tsyrklevich committed rL344961: Revert "Ensure sanitizer check function calls have a !dbg location".
Revert "Ensure sanitizer check function calls have a !dbg location"
Oct 22 2018, 2:54 PM

Oct 19 2018

vlad.tsyrklevich added inline comments to D53336: Stack Safety Analysis documentation.
Oct 19 2018, 10:10 AM

Oct 16 2018

vlad.tsyrklevich accepted D53336: Stack Safety Analysis documentation.
Oct 16 2018, 3:03 PM
vlad.tsyrklevich added a comment to D53336: Stack Safety Analysis documentation.

I sent you my StackSafetyAnalysis.rst edits over e-mail because the s/// format got tricky.

Oct 16 2018, 12:37 PM

Sep 21 2018

vlad.tsyrklevich committed rL342763: SafeStack: Fix flaky test (PR39001).
SafeStack: Fix flaky test (PR39001)
Sep 21 2018, 12:04 PM
vlad.tsyrklevich committed rCRT342763: SafeStack: Fix flaky test (PR39001).
SafeStack: Fix flaky test (PR39001)
Sep 21 2018, 12:03 PM
vlad.tsyrklevich closed D52330: SafeStack: Fix flaky test (PR39001).
Sep 21 2018, 12:03 PM