Page MenuHomePhabricator

cryptoad (Kostya Kortchinsky)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

cryptoad accepted D88523: scudo: Make it thread-safe to set some runtime configuration flags..

LGTM with comment

Wed, Sep 30, 8:34 AM · Restricted Project

Yesterday

cryptoad added a comment to D88457: [scudo][standalone] Fix some primary tests.
In D88457#2301551, @pcc wrote:

I'm not really a fan of long lists of template arguments. So I would favor something like

  1. Have the SizeClassAllocator classes take something like a Config type (see allocator_config.h) as a template argument and have it read the configuration out of that.
Tue, Sep 29, 11:46 AM · Restricted Project
cryptoad committed rGe456df77c2a5: [scudo][standalone] Fix Primary's ReleaseToOS test (authored by cryptoad).
[scudo][standalone] Fix Primary's ReleaseToOS test
Tue, Sep 29, 8:27 AM
cryptoad closed D88457: [scudo][standalone] Fix some primary tests.
Tue, Sep 29, 8:27 AM · Restricted Project

Mon, Sep 28

cryptoad retitled D88457: [scudo][standalone] Fix some primary tests from [scudo][standalone] Fix Primary's ReleaseToOS test to [scudo][standalone] Fix some primary tests.
Mon, Sep 28, 5:25 PM · Restricted Project
cryptoad updated the diff for D88457: [scudo][standalone] Fix some primary tests.

Actually fix all the instances of this issue :/

Mon, Sep 28, 5:23 PM · Restricted Project
cryptoad requested review of D88457: [scudo][standalone] Fix some primary tests.
Mon, Sep 28, 5:21 PM · Restricted Project
cryptoad committed rGf668a84b58dc: [scudo][standalone] Remove unused atomic_compare_exchange_weak (authored by cryptoad).
[scudo][standalone] Remove unused atomic_compare_exchange_weak
Mon, Sep 28, 4:26 PM
cryptoad closed D88443: [scudo][standalone] Remove unused atomic_compare_exchange_weak.
Mon, Sep 28, 4:25 PM · Restricted Project
cryptoad requested review of D88443: [scudo][standalone] Remove unused atomic_compare_exchange_weak.
Mon, Sep 28, 1:08 PM · Restricted Project
cryptoad accepted D88350: scudo: Re-order Allocator fields for improved performance. NFCI..

Thanks Peter!

Mon, Sep 28, 9:03 AM · Restricted Project

Wed, Sep 23

cryptoad committed rG2efc09c90914: [scudo][standalone] Fix tests under ASan/UBSan (authored by cryptoad).
[scudo][standalone] Fix tests under ASan/UBSan
Wed, Sep 23, 12:08 PM
cryptoad closed D88170: [scudo][standalone] Fix tests under ASan/UBSan.
Wed, Sep 23, 12:08 PM · Restricted Project
cryptoad added a comment to D88170: [scudo][standalone] Fix tests under ASan/UBSan.

LGTM modulo clang-format. Thanks for the quick fixes!

Wed, Sep 23, 11:22 AM · Restricted Project
cryptoad requested review of D88170: [scudo][standalone] Fix tests under ASan/UBSan.
Wed, Sep 23, 10:23 AM · Restricted Project

Tue, Sep 22

cryptoad committed rG7b51961cd074: [scudo][standalone] Remove the pthread key from the shared TSD (authored by cryptoad).
[scudo][standalone] Remove the pthread key from the shared TSD
Tue, Sep 22, 8:26 AM
cryptoad closed D88046: [scudo][standalone] Remove the pthread key from the shared TSD.
Tue, Sep 22, 8:25 AM · Restricted Project
cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

I'm considering a slight change of plan. @cryptoad, in the name of incremental development, would you be happy for me to put the scudo sanitizer version up (with working tests), or is this deprecated now? It may not be the best for performance long term but it's a smaller step than the standalone port and seems to work.

Tue, Sep 22, 8:18 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Sep 21

cryptoad requested review of D88046: [scudo][standalone] Remove the pthread key from the shared TSD.
Mon, Sep 21, 2:11 PM · Restricted Project
cryptoad added inline comments to D87420: scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot.
Mon, Sep 21, 12:52 PM · Restricted Project

Sat, Sep 19

cryptoad accepted D87973: [scudo/standalone] Fix undefined behavior in checksum test.
Sat, Sep 19, 11:46 AM · Restricted Project

Thu, Sep 17

cryptoad added inline comments to D87739: scudo: Add an API for disabling memory initialization per-thread..
Thu, Sep 17, 3:39 PM · Restricted Project
cryptoad added inline comments to D87739: scudo: Add an API for disabling memory initialization per-thread..
Thu, Sep 17, 3:28 PM · Restricted Project
cryptoad accepted D87809: [scudo/standalone] Don't define test main function for Fuchsia.
Thu, Sep 17, 1:11 PM · Restricted Project

Wed, Sep 16

cryptoad added inline comments to D87809: [scudo/standalone] Don't define test main function for Fuchsia.
Wed, Sep 16, 6:24 PM · Restricted Project
cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

@cryptoad What happens if the primary was much smaller? Or if pages were reserved in much smaller ranges?

Wed, Sep 16, 11:51 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Sep 15

cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

I guess using scudo as a general purpose allocator that could set a limit on the number of cores that can be used at once as @aganea found. Would there be any problem with making this very small (e.g. a couple of GB)?

Tue, Sep 15, 10:14 AM · Restricted Project, Restricted Project, Restricted Project
cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

If 4.4 TB of virtual pages are mapped in each process (this happens on startup), then we quickly exaust the 48-bit (256 TB) addressable space with 72+ programs running (on a 36-core). Any idea where this 4.4 TB mapping comes from?

Tue, Sep 15, 8:25 AM · Restricted Project, Restricted Project, Restricted Project

Fri, Sep 11

cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).
Fri, Sep 11, 12:37 PM · Restricted Project, Restricted Project, Restricted Project

Thu, Sep 10

cryptoad accepted D87420: scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot.
Thu, Sep 10, 7:06 PM · Restricted Project
cryptoad accepted D87478: scudo: Remove the THREADLOCAL macro..
Thu, Sep 10, 7:06 PM · Restricted Project
cryptoad added a comment to D87478: scudo: Remove the THREADLOCAL macro..

I think that I one point in time I tried thread_local but a compiler (can't remember which one) was complaining about the constructors not being trivial or something to that extent.
This is fairly blurry at this point, so I am sorry if this is not very helpful, but I just want to make sure this would work on all platforms with gcc/clang.

Thu, Sep 10, 5:53 PM · Restricted Project
cryptoad added inline comments to D87420: scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot.
Thu, Sep 10, 5:30 PM · Restricted Project

Wed, Sep 2

cryptoad committed rG00d9907a7ac8: [scudo][standalone] Enable secondary cache release on Fuchsia (authored by cryptoad).
[scudo][standalone] Enable secondary cache release on Fuchsia
Wed, Sep 2, 2:29 PM
cryptoad closed D86800: [scudo][standalone] Enable secondary cache release on Fuchsia.
Wed, Sep 2, 2:28 PM · Restricted Project
cryptoad updated the diff for D86800: [scudo][standalone] Enable secondary cache release on Fuchsia.

Initialize a variable that the Fuchsia gcc build complains about.

Wed, Sep 2, 12:07 PM · Restricted Project
cryptoad updated the diff for D86800: [scudo][standalone] Enable secondary cache release on Fuchsia.

I was wrong about the base paramater to use with releasePagesToOS on Fuchsia,
it's the base of the committed mapping, which is not the base of the reserved
mapping. So change that back to what it was.

Wed, Sep 2, 11:37 AM · Restricted Project
cryptoad added a comment to D86800: [scudo][standalone] Enable secondary cache release on Fuchsia.

FYI I got to run the tests and some things are failing, I am looking into what could be wrong.

Wed, Sep 2, 11:13 AM · Restricted Project

Aug 28 2020

cryptoad requested review of D86800: [scudo][standalone] Enable secondary cache release on Fuchsia.
Aug 28 2020, 11:45 AM · Restricted Project

Aug 27 2020

cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

That's awesome! Is it meant to eventually be committed or only be used for comparison purposes?

I'd like it to be committed, but can't claim I know the code from https://reviews.llvm.org/D42519 well enough. The good news is that I can build LLVM on Windows with this. Is there a good sanity check that it is actually using Scudo rather than silently using the standard alloc?

Aug 27 2020, 10:11 AM · Restricted Project, Restricted Project, Restricted Project
cryptoad added a comment to D86694: [scudo] Allow -fsanitize=scudo on Linux and Windows (WIP, don't land as is).

That's awesome! Is it meant to eventually be committed or only be used for comparison purposes?

Aug 27 2020, 7:50 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2020

cryptoad committed rGbd5ca4f0ed4a: [scudo][standalone] Skip irrelevant regions during release (authored by cryptoad).
[scudo][standalone] Skip irrelevant regions during release
Aug 25 2020, 7:41 AM
cryptoad closed D86399: [scudo][standalone] Skip irrelevant regions during release.
Aug 25 2020, 7:41 AM · Restricted Project

Aug 24 2020

cryptoad added a comment to D86399: [scudo][standalone] Skip irrelevant regions during release.

Interesting that GCC does not inline capture by ref https://godbolt.org/z/exfP69

Aug 24 2020, 7:47 AM · Restricted Project

Aug 23 2020

cryptoad added a comment to D86399: [scudo][standalone] Skip irrelevant regions during release.

I am unclear if there is a way for the lambda to be inlined in the callee.
If anyone has a suggestion, I'll gladly take it.

Aug 23 2020, 9:25 AM · Restricted Project

Aug 22 2020

cryptoad added a comment to D86399: [scudo][standalone] Skip irrelevant regions during release.

I am unclear if there is a way for the lambda to be inlined in the callee.
If anyone has a suggestion, I'll gladly take it.

Aug 22 2020, 9:37 AM · Restricted Project
cryptoad added reviewers for D86399: [scudo][standalone] Skip irrelevant regions during release: pcc, cferris, hctim.
Aug 22 2020, 9:20 AM · Restricted Project
cryptoad requested review of D86399: [scudo][standalone] Skip irrelevant regions during release.
Aug 22 2020, 9:16 AM · Restricted Project

Aug 13 2020

cryptoad added reviewers for D85930: [lsan] Share platform allocator settings between ASan and LSan: eugenis, vitalybuka.
Aug 13 2020, 1:48 PM · Restricted Project

Jul 29 2020

cryptoad accepted D84805: [Scudo][CMake] Add -fno-lto to Scudo libraries.
Jul 29 2020, 10:21 AM · Restricted Project

Jul 28 2020

cryptoad added inline comments to D84805: [Scudo][CMake] Add -fno-lto to Scudo libraries.
Jul 28 2020, 4:30 PM · Restricted Project
cryptoad committed rGf14472a2e327: [scudo][standalone] Add new mallopt options. (authored by cferris).
[scudo][standalone] Add new mallopt options.
Jul 28 2020, 4:28 PM
cryptoad closed D84806: [scudo][standalone] Add new mallopt options..
Jul 28 2020, 4:28 PM · Restricted Project
cryptoad updated subscribers of D84805: [Scudo][CMake] Add -fno-lto to Scudo libraries.
Jul 28 2020, 3:34 PM · Restricted Project
cryptoad added inline comments to D84806: [scudo][standalone] Add new mallopt options..
Jul 28 2020, 3:26 PM · Restricted Project
cryptoad added inline comments to D84805: [Scudo][CMake] Add -fno-lto to Scudo libraries.
Jul 28 2020, 3:10 PM · Restricted Project
cryptoad accepted D84806: [scudo][standalone] Add new mallopt options..
Jul 28 2020, 3:07 PM · Restricted Project
cryptoad committed rG6f00f3b56e5a: [scudo][standalone] mallopt runtime configuration options (authored by cryptoad).
[scudo][standalone] mallopt runtime configuration options
Jul 28 2020, 11:58 AM
cryptoad closed D84667: [scudo][standalone] mallopt runtime configuration options.
Jul 28 2020, 11:58 AM · Restricted Project

Jul 27 2020

cryptoad added a comment to D84667: [scudo][standalone] mallopt runtime configuration options.

Is there any major changes from the other mallopt change? In other words, should I rerun performance data?

Jul 27 2020, 11:04 AM · Restricted Project
cryptoad updated the diff for D84667: [scudo][standalone] mallopt runtime configuration options.

Addressing Chrisopher's comments:

  • fixed a couple of comments
  • reworked setOption to avoid short circuiting
Jul 27 2020, 11:01 AM · Restricted Project
cryptoad abandoned D81509: [WIP][scudo][standalone] Make secondary cache configurable at runtime.
Jul 27 2020, 9:47 AM · Restricted Project
cryptoad abandoned D82397: [scudo][standalone] mallopt runtime configuration options.

I created a new one @ https://reviews.llvm.org/D84667.
The content is the same but I had some issues rebasing/merging while keeping the same Phabricator revision, so I ended up redoing a new one.

Jul 27 2020, 9:16 AM · Restricted Project
Herald added a project to D84667: [scudo][standalone] mallopt runtime configuration options: Restricted Project.
Jul 27 2020, 9:14 AM · Restricted Project

Jul 24 2020

cryptoad committed rG998334da2b15: [scudo][standalone] Change the release loop for efficiency purposes (authored by cryptoad).
[scudo][standalone] Change the release loop for efficiency purposes
Jul 24 2020, 10:36 AM
cryptoad closed D83993: [scudo][standalone] Change the release loop for efficiency purposes.
Jul 24 2020, 10:36 AM · Restricted Project
cryptoad added inline comments to D83993: [scudo][standalone] Change the release loop for efficiency purposes.
Jul 24 2020, 10:02 AM · Restricted Project
cryptoad added a comment to D82397: [scudo][standalone] mallopt runtime configuration options.
In D82397#2171020, @pcc wrote:

Where does the configuration need to live? If it just needs to be a build-time configuration, that may be simpler than exposing new mallopt options.

Jul 24 2020, 7:31 AM · Restricted Project
cryptoad added inline comments to D83993: [scudo][standalone] Change the release loop for efficiency purposes.
Jul 24 2020, 7:25 AM · Restricted Project

Jul 23 2020

cryptoad accepted D84454: scudo: Remove some boilerplate from the combined allocator tests. NFCI..

Thanks!

Jul 23 2020, 12:09 PM · Restricted Project

Jul 17 2020

cryptoad accepted D83994: [GWP-ASan] Split the unwinder into segv/non-segv..
Jul 17 2020, 10:43 AM · Restricted Project
cryptoad updated the diff for D83993: [scudo][standalone] Change the release loop for efficiency purposes.

Corrected a bunch of things as apparently getting right into things
post vacation yielded a bunch of errors.

Jul 17 2020, 10:27 AM · Restricted Project

Jul 16 2020

cryptoad updated the diff for D83993: [scudo][standalone] Change the release loop for efficiency purposes.

With proper merge of the primary*.h.

Jul 16 2020, 4:19 PM · Restricted Project
cryptoad updated the diff for D83993: [scudo][standalone] Change the release loop for efficiency purposes.

With proper merge of the primary*.h.

Jul 16 2020, 4:18 PM · Restricted Project
cryptoad added a comment to D83993: [scudo][standalone] Change the release loop for efficiency purposes.

I didn't merge properly, updating the CL.

Jul 16 2020, 4:14 PM · Restricted Project
Herald added a project to D83993: [scudo][standalone] Change the release loop for efficiency purposes: Restricted Project.
Jul 16 2020, 4:13 PM · Restricted Project
cryptoad committed rG79de8f8441d1: [scudo][standalone] Release smaller blocks less often (authored by cryptoad).
[scudo][standalone] Release smaller blocks less often
Jul 16 2020, 9:45 AM
cryptoad closed D82031: [scudo][standalone] Release smaller blocks less often.
Jul 16 2020, 9:45 AM · Restricted Project

Jun 25 2020

cryptoad abandoned D80246: [scudo][standalone] Force release after burst of deallocs (64-b only).
Jun 25 2020, 10:14 AM · Restricted Project

Jun 24 2020

cryptoad added a comment to D82031: [scudo][standalone] Release smaller blocks less often.

Overall, this seems to be reasonable, but I am a bit worried about the odd 32 bit performance. Is there an explanation for what could be causing the 32 bit calls to increase?

Jun 24 2020, 1:34 PM · Restricted Project

Jun 23 2020

cryptoad created D82397: [scudo][standalone] mallopt runtime configuration options.
Jun 23 2020, 11:15 AM · Restricted Project

Jun 22 2020

cryptoad updated the diff for D82031: [scudo][standalone] Release smaller blocks less often.

Fix the PackedCounter static buffer check.
We were using the count of elements instead of the size of the buffer :(
Also make the count public so that release.cpp can use it.

Jun 22 2020, 3:35 PM · Restricted Project

Jun 18 2020

cryptoad added a comment to D82070: [scudo][standalone] Allow Primary allocations to fail up multiple times..

I did the commit and followed the instructions @ https://llvm.org/docs/Phabricator.html#committing-someone-s-change-from-phabricator.
Let me know if they are no longer relevant.

Jun 18 2020, 9:16 PM · Restricted Project
cryptoad committed rGe7ac984dc055: [scudo][standalone] Allow Primary allocations to fail up multiple times. (authored by cferris).
[scudo][standalone] Allow Primary allocations to fail up multiple times.
Jun 18 2020, 12:01 PM
cryptoad closed D82070: [scudo][standalone] Allow Primary allocations to fail up multiple times..
Jun 18 2020, 12:01 PM · Restricted Project
cryptoad updated the diff for D82031: [scudo][standalone] Release smaller blocks less often.

Only do the BytesPushed check is not doing a forced release.

Jun 18 2020, 9:45 AM · Restricted Project
cryptoad accepted D82070: [scudo][standalone] Allow Primary allocations to fail up multiple times..

One of the things with this behavior is that it could have security repercussions, in the sense that we can lose the property of the separation per class size.
eg: by filling in all the previous class sizes, one could end up in another, allowing to properly exploit a UAF or overflow.
This is probably more theoretical than practical, but something to keep in mind for the future.

Jun 18 2020, 8:06 AM · Restricted Project

Jun 17 2020

cryptoad created D82031: [scudo][standalone] Release smaller blocks less often.
Jun 17 2020, 10:45 AM · Restricted Project

Jun 9 2020

cryptoad created D81509: [WIP][scudo][standalone] Make secondary cache configurable at runtime.
Jun 9 2020, 2:55 PM · Restricted Project

May 19 2020

cryptoad created D80246: [scudo][standalone] Force release after burst of deallocs (64-b only).
May 19 2020, 2:53 PM · Restricted Project
cryptoad accepted D80243: [compiler-rt][scudo][LIT] Use target_suffix instead of target-arch.
May 19 2020, 2:53 PM · Restricted Project
cryptoad abandoned D78653: [scudo][standalone] Force release after burst of deallocs.
May 19 2020, 8:41 AM · Restricted Project

May 11 2020

cryptoad added a comment to D62368: Add vendor identity check for Hygon Dhyana processor in Scudo.

I've deleted the branch in the github web interface. I didn't know I could do that.

May 11 2020, 12:23 PM · Restricted Project, Restricted Project, Restricted Project
cryptoad added a comment to D62368: Add vendor identity check for Hygon Dhyana processor in Scudo.

I noticed when I pulled this morning that this seems to have been pushed as a branch to the repo

From https://github.com/llvm/llvm-project

eb7d32e..63a4fdd  master     -> origin/master
  • [new branch] arcpatch-D62368 -> origin/arcpatch-D62368
May 11 2020, 11:50 AM · Restricted Project, Restricted Project, Restricted Project
cryptoad committed rG9959eb918acf: Add vendor identity check for Hygon Dhyana processor in Scudo (authored by cryptoad).
Add vendor identity check for Hygon Dhyana processor in Scudo
May 11 2020, 9:40 AM
cryptoad closed D62368: Add vendor identity check for Hygon Dhyana processor in Scudo.
May 11 2020, 9:40 AM · Restricted Project, Restricted Project, Restricted Project
cryptoad committed rG11d203a2bbb1: Add vendor identity check for Hygon Dhyana processor in Scudo (authored by cryptoad).
Add vendor identity check for Hygon Dhyana processor in Scudo
May 11 2020, 9:40 AM
cryptoad added a comment to D62368: Add vendor identity check for Hygon Dhyana processor in Scudo.

Hi Cryptoad,

Could you help me to commit the patch? Because I don't have access.

Thanks.

May 11 2020, 9:39 AM · Restricted Project, Restricted Project, Restricted Project

May 8 2020

cryptoad accepted D79656: [hwasan] Fix allocator alignment..
May 8 2020, 6:49 PM · Restricted Project
cryptoad accepted D62368: Add vendor identity check for Hygon Dhyana processor in Scudo.
May 8 2020, 8:00 AM · Restricted Project, Restricted Project, Restricted Project