Page MenuHomePhabricator

cryptoad (Kostya Kortchinsky)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Fri, May 17

cryptoad updated the diff for D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.

Correcting a typo (meaningul -> meaningful)

Fri, May 17, 12:33 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.

Adding a forgotten CHECK as well.

Fri, May 17, 12:09 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.

Correcting some code constructs as suggested by Matt:

  • using unique_ptr in tests;
  • accounting for a potential null TransferBatch in refill;
  • other corrections.
Fri, May 17, 11:56 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.
Fri, May 17, 10:37 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.
Fri, May 17, 10:34 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.
Fri, May 17, 10:29 AM · Restricted Project, Restricted Project

Thu, May 16

cryptoad updated the diff for D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.

Simplify a lot of the functions prototypes by storing a pointer to the
size-class allocator in the cache, or getting the stats from the cache,
etc.

Thu, May 16, 8:10 AM · Restricted Project, Restricted Project

Wed, May 15

cryptoad closed D51146: [scudo] Update documentation with Scudo's "permissive" mode..
Wed, May 15, 7:43 AM · Restricted Project
cryptoad added a comment to D61923: [GWP-ASan] Mutex implementation [2]..

I think the idea is that implementing our own spinlock is not much harder than having 3 platform-specific implementations (posix, window, fuchsia).
Also, scudo_standalone is doing the same ( @cryptoad, why? ).

As Mitch mentioned, we should move the implementation into a common directory. Why not do this now?

Wed, May 15, 7:26 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 14

cryptoad added inline comments to D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.
Tue, May 14, 2:08 PM · Restricted Project, Restricted Project
cryptoad added a comment to D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.

This could use a review please!

Tue, May 14, 9:35 AM · Restricted Project, Restricted Project

Thu, May 9

cryptoad created D61745: [scudo][standalone] Introduce the Primary(s) and LocalCache.
Thu, May 9, 11:15 AM · Restricted Project, Restricted Project

Wed, May 8

cryptoad committed rG6a85631d8713: [scudo][standalone] Introduce the chunk header (authored by cryptoad).
[scudo][standalone] Introduce the chunk header
Wed, May 8, 2:54 PM
cryptoad committed rL360290: [scudo][standalone] Introduce the chunk header.
[scudo][standalone] Introduce the chunk header
Wed, May 8, 2:54 PM
cryptoad committed rCRT360290: [scudo][standalone] Introduce the chunk header.
[scudo][standalone] Introduce the chunk header
Wed, May 8, 2:54 PM
cryptoad closed D61654: [scudo][standalone] Introduce the chunk header.
Wed, May 8, 2:54 PM · Restricted Project, Restricted Project
cryptoad requested review of D61654: [scudo][standalone] Introduce the chunk header.
Wed, May 8, 9:41 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D61654: [scudo][standalone] Introduce the chunk header.

I had to backpedal on some of changes due to some errors uncovered
while testing on Fuchsia.

Wed, May 8, 9:37 AM · Restricted Project, Restricted Project
cryptoad planned changes to D61654: [scudo][standalone] Introduce the chunk header.

Working out some kinks on Fuchsia. Will update once it's ironed out.

Wed, May 8, 8:52 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D61654: [scudo][standalone] Introduce the chunk header.

Actually remove 2 unused masks.

Wed, May 8, 8:09 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D61654: [scudo][standalone] Introduce the chunk header.

Rename AllocTypeMask to OriginMask.

Wed, May 8, 7:58 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D61654: [scudo][standalone] Introduce the chunk header.

The HashAlgorithm global variable doesn't have to be atomic since
all alloc operations are stalled until init completes. Update things
accordingly (thanks Vitaly).

Wed, May 8, 7:42 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D61654: [scudo][standalone] Introduce the chunk header.
Wed, May 8, 7:41 AM · Restricted Project, Restricted Project

Tue, May 7

cryptoad added inline comments to D61654: [scudo][standalone] Introduce the chunk header.
Tue, May 7, 3:48 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D61654: [scudo][standalone] Introduce the chunk header.

Updated to use class enums, and put some structures that uses to
be in the scudo namespace into the scudo::Chunk one, as it
makes more sense.

Tue, May 7, 3:41 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D61654: [scudo][standalone] Introduce the chunk header.
Tue, May 7, 3:05 PM · Restricted Project, Restricted Project
cryptoad created D61654: [scudo][standalone] Introduce the chunk header.
Tue, May 7, 1:54 PM · Restricted Project, Restricted Project
cryptoad committed rGab8c8da60928: [scudo][standalone] Introduce the Quarantine (authored by cryptoad).
[scudo][standalone] Introduce the Quarantine
Tue, May 7, 8:40 AM
cryptoad committed rCRT360163: [scudo][standalone] Introduce the Quarantine.
[scudo][standalone] Introduce the Quarantine
Tue, May 7, 8:40 AM
cryptoad committed rL360163: [scudo][standalone] Introduce the Quarantine.
[scudo][standalone] Introduce the Quarantine
Tue, May 7, 8:40 AM
cryptoad closed D61385: [scudo][standalone] Introduce the Quarantine.
Tue, May 7, 8:40 AM · Restricted Project, Restricted Project

Mon, May 6

cryptoad updated the diff for D61385: [scudo][standalone] Introduce the Quarantine.

Addressing Matt's new comments:

  • changing another %d to %zd
  • changing the iterating loop to a range loop
  • clang-format'ing the source
Mon, May 6, 12:15 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D61385: [scudo][standalone] Introduce the Quarantine.
Mon, May 6, 12:14 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D61385: [scudo][standalone] Introduce the Quarantine.

Addressing Matt's comments:

  • changing some initializers to initLinkerInitialized. This also required implementing a no-op version of this function for StaticSpinMutex
  • changed a %d to %zd
Mon, May 6, 11:47 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D61385: [scudo][standalone] Introduce the Quarantine.
Mon, May 6, 11:44 AM · Restricted Project, Restricted Project

Thu, May 2

cryptoad accepted D61450: [compiler-rt] Set the ZX_VMO_RESIZABLE option for zx_vmo_create.
Thu, May 2, 10:11 AM · Restricted Project, Restricted Project

Wed, May 1

cryptoad created D61385: [scudo][standalone] Introduce the Quarantine.
Wed, May 1, 9:17 AM · Restricted Project, Restricted Project

Tue, Apr 30

cryptoad committed rG21c31f5e7b30: [scudo][standalone] Add the memory reclaiming mechanism (authored by cryptoad).
[scudo][standalone] Add the memory reclaiming mechanism
Tue, Apr 30, 7:58 AM
cryptoad committed rCRT359567: [scudo][standalone] Add the memory reclaiming mechanism.
[scudo][standalone] Add the memory reclaiming mechanism
Tue, Apr 30, 7:54 AM
cryptoad committed rL359567: [scudo][standalone] Add the memory reclaiming mechanism.
[scudo][standalone] Add the memory reclaiming mechanism
Tue, Apr 30, 7:54 AM
cryptoad closed D61214: [scudo][standalone] Add the memory reclaiming mechanism.
Tue, Apr 30, 7:54 AM · Restricted Project, Restricted Project

Mon, Apr 29

cryptoad added inline comments to D61214: [scudo][standalone] Add the memory reclaiming mechanism.
Mon, Apr 29, 1:14 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D61214: [scudo][standalone] Add the memory reclaiming mechanism.

Addressing Vitaly's comments.

Mon, Apr 29, 1:14 PM · Restricted Project, Restricted Project
cryptoad accepted D61162: [scudo][NFC] Remove unneeded template from scudo::CombinedAllocator.
Mon, Apr 29, 8:39 AM · Restricted Project, Restricted Project

Fri, Apr 26

cryptoad updated the diff for D61214: [scudo][standalone] Add the memory reclaiming mechanism.

Correct typo.

Fri, Apr 26, 3:15 PM · Restricted Project, Restricted Project
cryptoad created D61214: [scudo][standalone] Add the memory reclaiming mechanism.
Fri, Apr 26, 3:14 PM · Restricted Project, Restricted Project

Thu, Apr 25

cryptoad committed rG3fad6a206f52: [scudo][standalone] Introduce the SizeClassMap (authored by cryptoad).
[scudo][standalone] Introduce the SizeClassMap
Thu, Apr 25, 8:51 AM
cryptoad committed rL359199: [scudo][standalone] Introduce the SizeClassMap.
[scudo][standalone] Introduce the SizeClassMap
Thu, Apr 25, 8:47 AM
cryptoad committed rCRT359199: [scudo][standalone] Introduce the SizeClassMap.
[scudo][standalone] Introduce the SizeClassMap
Thu, Apr 25, 8:47 AM
cryptoad closed D61088: [scudo][standalone] Introduce the SizeClassMap.
Thu, Apr 25, 8:47 AM · Restricted Project, Restricted Project

Wed, Apr 24

cryptoad updated the diff for D61088: [scudo][standalone] Introduce the SizeClassMap.

Correct comment & a format string.

Wed, Apr 24, 2:47 PM · Restricted Project, Restricted Project
cryptoad created D61088: [scudo][standalone] Introduce the SizeClassMap.
Wed, Apr 24, 1:18 PM · Restricted Project, Restricted Project
cryptoad committed rG475585655db8: [scudo][standalone] Introduce the Secondary allocator (authored by cryptoad).
[scudo][standalone] Introduce the Secondary allocator
Wed, Apr 24, 7:19 AM
cryptoad committed rL359097: [scudo][standalone] Introduce the Secondary allocator.
[scudo][standalone] Introduce the Secondary allocator
Wed, Apr 24, 7:19 AM
cryptoad committed rCRT359097: [scudo][standalone] Introduce the Secondary allocator.
[scudo][standalone] Introduce the Secondary allocator
Wed, Apr 24, 7:19 AM
cryptoad closed D60787: [scudo][standalone] Introduce the Secondary allocator.
Wed, Apr 24, 7:18 AM · Restricted Project, Restricted Project

Tue, Apr 23

cryptoad updated the diff for D60787: [scudo][standalone] Introduce the Secondary allocator.

Addressing Matt's comment.

Tue, Apr 23, 7:52 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D60787: [scudo][standalone] Introduce the Secondary allocator.
Tue, Apr 23, 7:51 AM · Restricted Project, Restricted Project

Mon, Apr 22

cryptoad updated the diff for D60787: [scudo][standalone] Introduce the Secondary allocator.

Adding some comments, changing a couple of code constructs based on
Matt's feedback.

Mon, Apr 22, 1:32 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D60787: [scudo][standalone] Introduce the Secondary allocator.
Mon, Apr 22, 1:28 PM · Restricted Project, Restricted Project

Apr 17 2019

cryptoad updated the diff for D60787: [scudo][standalone] Introduce the Secondary allocator.

This splits the secondary into a H & CC file since we don't need to be
header only.
Simplify some code constructs as suggested by Matt, remove some
UNLIKELY.
Rename PlatformData to MapPlatformData.

Apr 17 2019, 12:37 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D60787: [scudo][standalone] Introduce the Secondary allocator.
Apr 17 2019, 12:32 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D60787: [scudo][standalone] Introduce the Secondary allocator.
Apr 17 2019, 11:44 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D60787: [scudo][standalone] Introduce the Secondary allocator.

Following Vitaly's advice, we define the PlatformData structure
in a platform specific way, in the respective header files.

Apr 17 2019, 8:04 AM · Restricted Project, Restricted Project

Apr 16 2019

cryptoad added inline comments to D60787: [scudo][standalone] Introduce the Secondary allocator.
Apr 16 2019, 3:32 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D60787: [scudo][standalone] Introduce the Secondary allocator.

Adding a death test & one for getBlockSize.

Apr 16 2019, 12:08 PM · Restricted Project, Restricted Project
cryptoad created D60787: [scudo][standalone] Introduce the Secondary allocator.
Apr 16 2019, 11:10 AM · Restricted Project, Restricted Project

Apr 12 2019

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

A few higher level comments:

  • do you have numbers for the overhead? code+data increase in Scudo .so, impact of VA & RSS/PSS of a "sample" process?
  • the integration in Scudo should be gated by defines/cmake rules: there is currently a discrepancy between the platform supported by Scudo & GWP-Asan (Fuchsia for one and not the other) so a strong way to exclude all GWP-Asan should exist here (as far as I know there is no Fuchsia bot yet)
  • was it tested on Android? As discussed, not all platforms support ELF TLS (Android added it somewhat recently, but before that it used emutls which uses malloc)
  • there are some dependencies on standard C++ (std::atomic for example), and I want to make sure that this won't pull in libc++ (or other C++ runtime), the reason being that if a program is C only, it shouldn't load libc++.
Apr 12 2019, 8:23 AM · Restricted Project, Restricted Project, Restricted Project

Apr 9 2019

cryptoad committed rG7e2b15382c27: [scudo][standalone] Add flags & related parsers (authored by cryptoad).
[scudo][standalone] Add flags & related parsers
Apr 9 2019, 7:57 AM
cryptoad committed rL358011: [scudo][standalone] Add flags & related parsers.
[scudo][standalone] Add flags & related parsers
Apr 9 2019, 7:55 AM
cryptoad committed rCRT358011: [scudo][standalone] Add flags & related parsers.
[scudo][standalone] Add flags & related parsers
Apr 9 2019, 7:55 AM
cryptoad closed D59597: [scudo][standalone] Add flags & related parsers.
Apr 9 2019, 7:55 AM · Restricted Project, Restricted Project

Apr 8 2019

cryptoad updated the diff for D59597: [scudo][standalone] Add flags & related parsers.

Following up on some good catches by Vitaly:

  • changing the isSeparator code around to not be in the class
  • adding a related function that also checks for null
  • doing some inline initialization of the FlagParser members
Apr 8 2019, 12:38 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D59597: [scudo][standalone] Add flags & related parsers.
Apr 8 2019, 12:38 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D59597: [scudo][standalone] Add flags & related parsers.

Addressing some review comments:

  • adding tests for quoted flags
  • code changes as requested
Apr 8 2019, 9:15 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D59597: [scudo][standalone] Add flags & related parsers.
Apr 8 2019, 9:08 AM · Restricted Project, Restricted Project

Apr 5 2019

cryptoad updated the diff for D59597: [scudo][standalone] Add flags & related parsers.

This new version of the flags parsing departs from the one currently
implemented in sanitizer_common. We avoid dynamic memory allocations
by doing all the parsing in place, and only support boolean and integer
flags (strings would require to be duplicated to have them null
terminated).

Apr 5 2019, 8:22 AM · Restricted Project, Restricted Project

Mar 20 2019

cryptoad planned changes to D59597: [scudo][standalone] Add flags & related parsers.
Mar 20 2019, 1:40 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D59597: [scudo][standalone] Add flags & related parsers.

Forgot a couple of headers in the makefile.

Mar 20 2019, 8:59 AM · Restricted Project, Restricted Project
cryptoad created D59597: [scudo][standalone] Add flags & related parsers.
Mar 20 2019, 8:26 AM · Restricted Project, Restricted Project
cryptoad committed rG485dbc23d4b2: [scudo][standalone] Add error reports (authored by cryptoad).
[scudo][standalone] Add error reports
Mar 20 2019, 7:31 AM
cryptoad committed rL356556: [scudo][standalone] Add error reports.
[scudo][standalone] Add error reports
Mar 20 2019, 7:30 AM
cryptoad committed rCRT356556: [scudo][standalone] Add error reports.
[scudo][standalone] Add error reports
Mar 20 2019, 7:30 AM
cryptoad closed D59551: [scudo][standalone] Add error reports.
Mar 20 2019, 7:30 AM · Restricted Project, Restricted Project

Mar 19 2019

cryptoad updated the diff for D59551: [scudo][standalone] Add error reports.

Addressing Matt's comments.

Mar 19 2019, 11:27 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D59551: [scudo][standalone] Add error reports.

Addressing Mitch's comments.

Mar 19 2019, 11:04 AM · Restricted Project, Restricted Project
cryptoad added inline comments to D59551: [scudo][standalone] Add error reports.
Mar 19 2019, 11:04 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D59551: [scudo][standalone] Add error reports.

Updating formating.

Mar 19 2019, 10:33 AM · Restricted Project, Restricted Project
cryptoad created D59551: [scudo][standalone] Add error reports.
Mar 19 2019, 9:51 AM · Restricted Project, Restricted Project
cryptoad committed rG7045c6f0b5a7: [scudo][standalone] Add string utility functions (authored by cryptoad).
[scudo][standalone] Add string utility functions
Mar 19 2019, 7:49 AM
cryptoad committed rCRT356457: [scudo][standalone] Add string utility functions.
[scudo][standalone] Add string utility functions
Mar 19 2019, 7:49 AM
cryptoad committed rL356457: [scudo][standalone] Add string utility functions.
[scudo][standalone] Add string utility functions
Mar 19 2019, 7:49 AM
cryptoad closed D59262: [scudo][standalone] Add string utility functions.
Mar 19 2019, 7:49 AM · Restricted Project, Restricted Project

Mar 18 2019

cryptoad added inline comments to D59262: [scudo][standalone] Add string utility functions.
Mar 18 2019, 1:45 PM · Restricted Project, Restricted Project
cryptoad added inline comments to D59262: [scudo][standalone] Add string utility functions.
Mar 18 2019, 12:44 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D59262: [scudo][standalone] Add string utility functions.

Correct some spacing.

Mar 18 2019, 9:23 AM · Restricted Project, Restricted Project
cryptoad updated the diff for D59262: [scudo][standalone] Add string utility functions.

Following Matt's comments, I had a look at various libc implementations
and the ctype function isspace, isdigit, tolower all appear to be
safe, so use them instead of our own.
strtol & co. should also do (Windows might be using some multibyte to
widechar conversion function which would use dynamic allocation, but we
don't support Windows so we should be good).
Add a test that attempts to overflow a ScopedString with different
variations of append.

Mar 18 2019, 9:11 AM · Restricted Project, Restricted Project

Mar 12 2019

cryptoad added inline comments to D59262: [scudo][standalone] Add string utility functions.
Mar 12 2019, 12:59 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D59262: [scudo][standalone] Add string utility functions.

Removing the custom strlen & strncmp in favor of the libc ones.

Mar 12 2019, 12:42 PM · Restricted Project, Restricted Project
cryptoad updated the diff for D59262: [scudo][standalone] Add string utility functions.

Changing ScopedString to aggregation instead of inheritance.

Mar 12 2019, 12:35 PM · Restricted Project, Restricted Project