cryptoad (Kostya Kortchinsky)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2016, 2:57 PM (76 w, 2 d)

Recent Activity

Fri, Oct 20

cryptoad added inline comments to D39072: Introduce ReservedAddressRange to sanitizer_common..
Fri, Oct 20, 4:19 PM
cryptoad accepted D39131: [Sanitizers] Add total primary allocator RSS to allocator report..

LGTM

Fri, Oct 20, 4:09 PM

Mon, Oct 16

cryptoad created D38980: [scudo] Add a shared runtime.
Mon, Oct 16, 3:39 PM
cryptoad committed rL315917: [scudo] Do not include sanitizer_posix.h if not on a Posix platform.
[scudo] Do not include sanitizer_posix.h if not on a Posix platform
Mon, Oct 16, 10:06 AM
cryptoad closed D38956: [scudo] Do not include sanitizer_posix.h if not on a Posix platform.
Mon, Oct 16, 10:06 AM
cryptoad created D38956: [scudo] Do not include sanitizer_posix.h if not on a Posix platform.
Mon, Oct 16, 8:51 AM

Fri, Oct 13

cryptoad committed rL315751: [scudo] Allow for non-Android Shared TSD platforms, part 2.
[scudo] Allow for non-Android Shared TSD platforms, part 2
Fri, Oct 13, 1:55 PM
cryptoad closed D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Fri, Oct 13, 1:55 PM
cryptoad updated the diff for D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.

Unnesting the #if.

Fri, Oct 13, 1:39 PM
cryptoad added inline comments to D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Fri, Oct 13, 1:31 PM
cryptoad updated the diff for D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.

Safeguarding the use of the exclusive TSD model against misuse (eg: using it
on a platform that doesn't support it).

Fri, Oct 13, 12:27 PM
cryptoad added inline comments to D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Fri, Oct 13, 11:43 AM

Thu, Oct 12

cryptoad added inline comments to D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Thu, Oct 12, 5:54 PM
cryptoad updated the diff for D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.

Remove a comment that is no longer relevant: the pthread key is used.

Thu, Oct 12, 2:22 PM
cryptoad created D38854: [scudo] Allow for non-Android Shared TSD platforms, part 2.
Thu, Oct 12, 10:39 AM
cryptoad committed rL315583: [scudo] Allow for non-Android Shared TSD platforms, part 1.
[scudo] Allow for non-Android Shared TSD platforms, part 1
Thu, Oct 12, 8:01 AM
cryptoad closed D38826: [scudo] Allow for non-Android Shared TSD platforms, part 1.
Thu, Oct 12, 8:01 AM
cryptoad accepted D38834: [Sanitizers] Add more details to ASan allocator stats report..

LGTM

Thu, Oct 12, 7:19 AM

Wed, Oct 11

cryptoad created D38826: [scudo] Allow for non-Android Shared TSD platforms, part 1.
Wed, Oct 11, 3:26 PM
cryptoad committed rL315509: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
[sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc
Wed, Oct 11, 2:20 PM
cryptoad closed D38743: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Wed, Oct 11, 2:20 PM

Tue, Oct 10

cryptoad added inline comments to D38759: [fuchsia] Add loop to _zx_cprng_draw..
Tue, Oct 10, 1:48 PM
cryptoad created D38743: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Tue, Oct 10, 10:03 AM
cryptoad committed rL315320: [sanitizer] Revert D38706.
[sanitizer] Revert D38706
Tue, Oct 10, 8:35 AM
cryptoad closed D38739: [sanitizer] Revert D38706 by committing rL315320: [sanitizer] Revert D38706.
Tue, Oct 10, 8:35 AM
cryptoad created D38739: [sanitizer] Revert D38706.
Tue, Oct 10, 8:33 AM
cryptoad committed rL315319: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
[sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc
Tue, Oct 10, 7:58 AM
cryptoad closed D38706: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Tue, Oct 10, 7:58 AM
cryptoad updated the diff for D38706: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.

Updating .h file comment.

Tue, Oct 10, 7:55 AM

Mon, Oct 9

cryptoad created D38706: [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc.
Mon, Oct 9, 2:56 PM
cryptoad added inline comments to D38437: Introduce ReservedAddressRange to sanitizer_common..
Mon, Oct 9, 10:29 AM
cryptoad added inline comments to D38437: Introduce ReservedAddressRange to sanitizer_common..
Mon, Oct 9, 10:26 AM

Fri, Oct 6

cryptoad added inline comments to D38437: Introduce ReservedAddressRange to sanitizer_common..
Fri, Oct 6, 8:37 AM

Thu, Oct 5

cryptoad added a comment to D38593: DO NOT MERGE, WIP: Update scudo_allocator to use new API..

Some comments, even though it's not done yet.

Thu, Oct 5, 3:09 PM

Tue, Oct 3

cryptoad added a comment to D38437: Introduce ReservedAddressRange to sanitizer_common..

For this first one, I think having the unmapping being implemented as well would be advised.

Tue, Oct 3, 11:37 AM

Wed, Sep 27

cryptoad committed rL314344: [scudo] Temporary disabling the valloc test on armhf.
[scudo] Temporary disabling the valloc test on armhf
Wed, Sep 27, 2:12 PM
cryptoad closed D38324: [scudo] Temporary disabling the valloc test on armhf.
Wed, Sep 27, 2:11 PM
cryptoad created D38324: [scudo] Temporary disabling the valloc test on armhf.
Wed, Sep 27, 11:26 AM

Tue, Sep 26

cryptoad accepted D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.

LGTM on my side.

Tue, Sep 26, 3:37 PM
cryptoad committed rL314224: [scudo] Scudo thread specific data refactor, part 3.
[scudo] Scudo thread specific data refactor, part 3
Tue, Sep 26, 3:34 PM
cryptoad closed D38244: [scudo] Scudo thread specific data refactor, part 3.
Tue, Sep 26, 3:30 PM

Mon, Sep 25

cryptoad added a comment to D38244: [scudo] Scudo thread specific data refactor, part 3.

Unsubmitted inline response.

Mon, Sep 25, 2:52 PM
cryptoad updated the diff for D38244: [scudo] Scudo thread specific data refactor, part 3.

Addressing Aleksey's comments.

Mon, Sep 25, 2:35 PM
cryptoad added a comment to D38245: [Sanitizers] Allocator: new "release memory to OS" implementation.

I do not have comments on the code, it looks good to me.

Mon, Sep 25, 2:23 PM
cryptoad created D38244: [scudo] Scudo thread specific data refactor, part 3.
Mon, Sep 25, 11:13 AM
cryptoad committed rL314110: [scudo] Scudo thread specific data refactor, part 2.
[scudo] Scudo thread specific data refactor, part 2
Mon, Sep 25, 8:13 AM
cryptoad closed D38183: [scudo] Scudo thread specific data refactor, part 2.
Mon, Sep 25, 8:13 AM

Sep 22 2017

cryptoad created D38183: [scudo] Scudo thread specific data refactor, part 2.
Sep 22 2017, 9:50 AM
cryptoad committed rL313987: [scudo] Scudo thread specific data refactor, part 1.
[scudo] Scudo thread specific data refactor, part 1
Sep 22 2017, 8:37 AM
cryptoad closed D38139: [scudo] Scudo thread specific data refactor, part 1.
Sep 22 2017, 8:37 AM

Sep 21 2017

cryptoad created D38139: [scudo] Scudo thread specific data refactor, part 1.
Sep 21 2017, 9:12 AM

Sep 18 2017

cryptoad abandoned D37590: [scudo] RFC thread specific data refactoring.

Abandoning this, I am gonna work on an actual CL now.

Sep 18 2017, 8:43 PM
cryptoad committed rL313570: [sanitizer] Run scudo tests on Android bot.
[sanitizer] Run scudo tests on Android bot
Sep 18 2017, 2:30 PM
cryptoad closed D38000: [sanitizer] Run scudo tests on Android bot.
Sep 18 2017, 2:30 PM
cryptoad created D38000: [sanitizer] Run scudo tests on Android bot.
Sep 18 2017, 2:25 PM
cryptoad committed rL313561: [scudo] Additional modifications for Android tests support.
[scudo] Additional modifications for Android tests support
Sep 18 2017, 1:33 PM
cryptoad closed D37990: [scudo] Additional modifications for Android tests support.
Sep 18 2017, 1:33 PM
cryptoad updated the diff for D37990: [scudo] Additional modifications for Android tests support.

Updating the description of preinit.cpp.
For some API levels on my emulator, calling mmap from a preinit function
ends up in a NULL dereference in __mmap2.S (without Scudo).

Sep 18 2017, 1:21 PM
cryptoad updated the diff for D37990: [scudo] Additional modifications for Android tests support.

s/XFAIL/UNSUPPORTED for the preinit.cpp test.

Sep 18 2017, 12:46 PM
cryptoad created D37990: [scudo] Additional modifications for Android tests support.
Sep 18 2017, 12:19 PM
cryptoad added inline comments to D37907: [scudo] Android build support.
Sep 18 2017, 10:51 AM
cryptoad committed rL313538: [scudo] Android build support.
[scudo] Android build support
Sep 18 2017, 8:42 AM
cryptoad closed D37907: [scudo] Android build support.
Sep 18 2017, 8:42 AM

Sep 15 2017

cryptoad created D37907: [scudo] Android build support.
Sep 15 2017, 10:00 AM

Sep 14 2017

cryptoad committed rL313294: [scudo] Fix bad request handling when allocator has not been initialized.
[scudo] Fix bad request handling when allocator has not been initialized
Sep 14 2017, 1:36 PM
cryptoad closed D37853: [scudo] Fix bad request handling when allocator has not been initialized.
Sep 14 2017, 1:35 PM
cryptoad added a comment to D37853: [scudo] Fix bad request handling when allocator has not been initialized.

I should add for completeness sake that to be fair, it's not a "real life" issue, as it would require the first heap operation ever called to be wrong.
But it's not a proper behavior.

Sep 14 2017, 11:41 AM
cryptoad added a comment to D37853: [scudo] Fix bad request handling when allocator has not been initialized.

Would moving SetAllocatorMayReturnNull call earler in the init() function help to resolve the problem?

Sep 14 2017, 11:37 AM
cryptoad created D37853: [scudo] Fix bad request handling when allocator has not been initialized.
Sep 14 2017, 10:42 AM

Sep 12 2017

cryptoad added a comment to D37590: [scudo] RFC thread specific data refactoring.

We do have a TLS slot, check out get_android_tls_ptr.

Sep 12 2017, 9:02 AM
cryptoad added a comment to D37590: [scudo] RFC thread specific data refactoring.

It would be interesting to benchmark Android with cache per thread model as well.

Sep 12 2017, 8:52 AM
cryptoad added a comment to D37590: [scudo] RFC thread specific data refactoring.

So this is basically no functional changes, just rebranding what we had for linux as "context per thread" and what we had for android as "several shared contexts", right?

Sep 12 2017, 8:45 AM

Sep 11 2017

cryptoad committed rL312939: [scudo] Fix improper TSD init after TLS destructors are called.
[scudo] Fix improper TSD init after TLS destructors are called
Sep 11 2017, 1:01 PM
cryptoad closed D37697: [scudo] Fix improper TSD init after TLS destructors are called.
Sep 11 2017, 1:00 PM
cryptoad created D37697: [scudo] Fix improper TSD init after TLS destructors are called.
Sep 11 2017, 9:09 AM

Sep 7 2017

cryptoad created D37590: [scudo] RFC thread specific data refactoring.
Sep 7 2017, 1:30 PM

Sep 6 2017

cryptoad committed rL312653: [scudo] getauxval alternative for Android.
[scudo] getauxval alternative for Android
Sep 6 2017, 10:52 AM
cryptoad closed D37488: [scudo] getauxval alternative for Android.
Sep 6 2017, 10:52 AM

Sep 5 2017

cryptoad updated the diff for D37488: [scudo] getauxval alternative for Android.

Adding missing space.

Sep 5 2017, 3:20 PM
cryptoad updated the diff for D37488: [scudo] getauxval alternative for Android.

Drop the #ifndef AT_HWCAP as it shouldn't be definedi there. If it is,
something is probably wrong somewhere.

Sep 5 2017, 3:04 PM
cryptoad added inline comments to D37488: [scudo] getauxval alternative for Android.
Sep 5 2017, 3:02 PM
cryptoad updated the diff for D37488: [scudo] getauxval alternative for Android.

Comment update.

Sep 5 2017, 2:38 PM
cryptoad updated the diff for D37488: [scudo] getauxval alternative for Android.

Redefining getauxval instead of introducing a third party middleman as
suggested by @alekseyshl.

Sep 5 2017, 2:29 PM
cryptoad created D37488: [scudo] getauxval alternative for Android.
Sep 5 2017, 12:27 PM

Aug 29 2017

cryptoad committed rL312046: Enable GetRandom for Fuchsia sanitizer..
Enable GetRandom for Fuchsia sanitizer.
Aug 29 2017, 2:54 PM
cryptoad closed D37218: Enable GetRandom for Fuchsia sanitizer..
Aug 29 2017, 2:54 PM
cryptoad committed rL312027: [docs] Fix Scudo documentation error.
[docs] Fix Scudo documentation error
Aug 29 2017, 12:55 PM
cryptoad closed D37270: [docs] Fix Scudo documentation error.
Aug 29 2017, 12:55 PM
cryptoad created D37270: [docs] Fix Scudo documentation error.
Aug 29 2017, 12:52 PM
cryptoad committed rL312025: Update Scudo allocator documentation..
Update Scudo allocator documentation.
Aug 29 2017, 12:44 PM
cryptoad closed D37238: Update Scudo allocator documentation..
Aug 29 2017, 12:43 PM

Aug 28 2017

cryptoad accepted D37238: Update Scudo allocator documentation..
Aug 28 2017, 5:05 PM
cryptoad added a comment to D37238: Update Scudo allocator documentation..

Thanks, it slipped my mind to update the doc. Couple of comments.

Aug 28 2017, 4:46 PM
cryptoad committed rL311891: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
[sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary
Aug 28 2017, 8:21 AM
cryptoad closed D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
Aug 28 2017, 8:21 AM

Aug 25 2017

cryptoad added a comment to D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.

Latest piece of information: this patch doesn't seem to have a meaningful impact on performances, whether it be single or multi threaded for the 64-bit allocator and 32-bit allocator without batch separation.
For the 32-bit allocator with batch separation enabled (eg: Scudo), this translates to a performance loss of about 2% for a single threaded pure allocation benchmark. A bit less on multi-threaded benchmarks.
This is expected as we are now allocating batches instead of re-using a chunk, but is required to keep the 32-bit allocator safe.
This also translate in a 1MB RSS increase due to the new region allocated for the batches. This is not expected to grow much higher as a single 1MB region can hold 2048 batches (for 512bytes batches).

Aug 25 2017, 1:15 PM
cryptoad updated the diff for D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.

Changing SizeClassMap::Validate to loop on kNumClasses.
Performance testing is the last item remaining.

Aug 25 2017, 8:55 AM

Aug 24 2017

cryptoad updated the diff for D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.

Making kNumClasses more consistent between the SizeClassAllocator*LocalCache.

Aug 24 2017, 3:24 PM
cryptoad updated the diff for D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.

Re-introducing private: in SizeClassAllocator*LocalCache.
Adding {} where requested.

Aug 24 2017, 3:10 PM
cryptoad added inline comments to D37082: [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary.
Aug 24 2017, 2:52 PM