Page MenuHomePhabricator

kcc (Kostya Serebryany)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 3 2012, 4:55 AM (416 w, 4 d)

Recent Activity

Wed, Sep 23

kcc added a comment to D88173: asan: Use `#if` to test CAN_SANITIZE_LEAKS.

a drive-by comment -- I would really appreciate *not* adding any new uses of C preprocessor.

Wed, Sep 23, 12:23 PM · Restricted Project

Wed, Sep 2

kcc added a reviewer for D86931: [Asan] Don't crash if metadata is not initialized: morehouse.
Wed, Sep 2, 10:18 AM · Restricted Project

Aug 17 2020

kcc added a reviewer for D84808: [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist: morehouse.

+Matt

Aug 17 2020, 12:34 PM · Restricted Project

Aug 14 2020

kcc added a comment to D85947: [DFSan] Don't unmap during dfsan_flush()..

Would it be possible to add a threaded test that fails w/o this change?
LGTM otherwise, thanks!

Aug 14 2020, 9:05 AM · Restricted Project

Aug 11 2020

kcc added a reviewer for D85359: [libFuzzer] Fix minimizing timeouts: morehouse.
Aug 11 2020, 9:51 AM · Restricted Project

Aug 10 2020

kcc added a comment to D84808: [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist.

would it be acceptable to have an environment variable or launch parameter that could allow the silent creation of these directories?

Aug 10 2020, 5:50 PM · Restricted Project

Aug 6 2020

kcc added a comment to D84808: [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist.
In D84808#2194844, @kcc wrote:

From the description:

this PR adds automatic directory creation for locations in which libFuzzer expects to write data.

I'd prefer libFuzzer to not create directories, but instead err-and-exit if those don't exist.

I can make this change, but is there a reason why this shouldn't be done? It seems more convenient for the end user but perhaps I'm overlooking a larger issue.

Aug 6 2020, 10:55 AM · Restricted Project
kcc added a comment to D85359: [libFuzzer] Fix minimizing timeouts.

O, wow, thanks for catching this.
Could you please add a test (in compiler-rt/test/fuzzer) that would reliably fail currently
and reliably pass with this change?

Aug 6 2020, 10:51 AM · Restricted Project

Aug 4 2020

kcc added a comment to D84808: [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist.

From the description:

this PR adds automatic directory creation for locations in which libFuzzer expects to write data.

Aug 4 2020, 4:11 PM · Restricted Project
kcc added a comment to D84808: [libFuzzer] Error and exit if user supplied fuzzer writeable directories don't exist.

I'd rather fail instead of silently creating new dirs, to be consistent with the other behavior

Aug 4 2020, 1:21 PM · Restricted Project
kcc added inline comments to D84913: [libFuzzer] Enable for SystemZ.
Aug 4 2020, 12:45 PM · Restricted Project, Restricted Project
kcc accepted D84913: [libFuzzer] Enable for SystemZ.

Please fix two nits, then good to go.
Thanks!

Aug 4 2020, 10:31 AM · Restricted Project, Restricted Project

Jul 31 2020

kcc added a comment to D84947: Add libFuzzer shared object build output.

Sticking just with x86_64 is possible; I actually have the code for that here, but it's a bit ugly:
https://reviews.llvm.org/differential/diff/281467/

Jul 31 2020, 9:41 AM · Restricted Project, Restricted Project

Jul 30 2020

kcc added inline comments to D84913: [libFuzzer] Enable for SystemZ.
Jul 30 2020, 9:43 AM · Restricted Project, Restricted Project
kcc added inline comments to D84913: [libFuzzer] Enable for SystemZ.
Jul 30 2020, 9:20 AM · Restricted Project, Restricted Project
kcc added a comment to D84947: Add libFuzzer shared object build output.

Do we need a version for 32-bit at all?
Not having a private version of libc++ is likely to cause subtle stability issues.

Jul 30 2020, 9:06 AM · Restricted Project, Restricted Project
kcc added a comment to D84913: [libFuzzer] Enable for SystemZ.

The compiler change seems to be completely independent from the libFuzzer change.
Please split this change into two.

Jul 30 2020, 7:57 AM · Restricted Project, Restricted Project

Jul 29 2020

kcc committed rG58743040ff50: Add more debug code for https://github.com/google/sanitizers/issues/1193… (authored by kcc).
Add more debug code for https://github.com/google/sanitizers/issues/1193…
Jul 29 2020, 11:13 AM
kcc closed D84819: Add more debug code for https://github.com/google/sanitizers/issues/1193 (getting desperate, not being able to reproduce it for a few months, but the users are seeing it).
Jul 29 2020, 11:13 AM · Restricted Project

Jul 28 2020

kcc added inline comments to D84819: Add more debug code for https://github.com/google/sanitizers/issues/1193 (getting desperate, not being able to reproduce it for a few months, but the users are seeing it).
Jul 28 2020, 7:16 PM · Restricted Project
kcc requested review of D84819: Add more debug code for https://github.com/google/sanitizers/issues/1193 (getting desperate, not being able to reproduce it for a few months, but the users are seeing it).
Jul 28 2020, 6:54 PM · Restricted Project

Jul 27 2020

kcc accepted D84561: Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver..

LGTM.
Matt, please help land it

Jul 27 2020, 10:35 AM · Restricted Project, Restricted Project

Jul 24 2020

kcc added a comment to D84561: Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver..

Code LGTM, thanks!
Please add a section in docs/LibFuzzer.html.
I'd add it after "Startup initialization", something like "Using libFuzzer as a library".

Jul 24 2020, 3:34 PM · Restricted Project, Restricted Project

Jul 23 2020

kcc added a comment to D84371: [DFSan] Add efficient fast16labels instrumentation mode..

Yep, cool.
LGTM from me, but please get another pair if eyes (Vitaly?)

Jul 23 2020, 6:01 PM · Restricted Project, Restricted Project, Restricted Project
kcc added a comment to D84425: [libFuzzer] Expose fuzzer::FuzzerDriver().

I am concerned about this change.
We've essentially exposed an implementation detail (both the function FuzzerDriver
and this header file, with all of its other internal details) to outside users.
This means we have more things to support as an API.
Maybe we could revert it and get back to the drawing board?

Jul 23 2020, 2:59 PM · Restricted Project

Jul 22 2020

kcc added inline comments to D84371: [DFSan] Add efficient fast16labels instrumentation mode..
Jul 22 2020, 6:42 PM · Restricted Project, Restricted Project, Restricted Project
kcc added a comment to D84371: [DFSan] Add efficient fast16labels instrumentation mode..

In what cases do we still call __dfsan_union?

Jul 22 2020, 6:39 PM · Restricted Project, Restricted Project, Restricted Project
kcc accepted D84215: [DFSan] Handle fast16labels for all API functions..

LGTM

Jul 22 2020, 2:18 PM · Restricted Project

Jul 21 2020

kcc added a comment to D84215: [DFSan] Handle fast16labels for all API functions..

Also, we don't have to err in these functions at all, it's fine to just return silently.

Jul 21 2020, 10:52 AM · Restricted Project
kcc added a comment to D84215: [DFSan] Handle fast16labels for all API functions..

and that's fine. I want this mode to be as simple as possible.

Jul 21 2020, 10:52 AM · Restricted Project
kcc added a comment to D84215: [DFSan] Handle fast16labels for all API functions..

I think this is an overkill.
fast16labels mode should be even simpler:
there are always 16 primary labels, they don't have any descriptions or properties controlled by dfsan.

Jul 21 2020, 10:22 AM · Restricted Project

Jul 8 2020

kcc added a comment to D83247: [compiler-rt][asan][hwasan] Refactor shadow setup into sanitizer_common (NFCI).

No strong opinion on whether this needs to be done.
If you feel strong, and if it will help, sure. (you may indeed have to test on various platforms, or rely on the post-commit bots)
OTOH, the new profiler should not require all of these functions, you can probably get away with a custom-tailored variant of MapDynamicShadow.

Jul 8 2020, 6:41 PM · Restricted Project
kcc added a comment to D76665: [asan] Stop instrumenting user-defined ELF sections.

Will adding attribute((no_sanitize("address"))) to your global solve the problem you are trying to solve?
(sorry for being too terse last time)

Jul 8 2020, 2:53 PM · Restricted Project, Restricted Project

Jul 7 2020

kcc added a comment to D76665: [asan] Stop instrumenting user-defined ELF sections.

can we instead slap an attribute on these special variables?

Jul 7 2020, 6:49 PM · Restricted Project, Restricted Project

Jul 6 2020

kcc added a comment to D82685: [libFuzzer] Rewrite Linux's ExecuteCommand to use fork-exec instead of system()..
In D82685#2133565, @kcc wrote:

My preference would be to reject weird file names instead of adding this extra complexity.

so we'll have a list of allowed (or disallowed) characters and error out if any of the arguments passed do not comply?

Jul 6 2020, 11:25 AM · Restricted Project
kcc added a comment to D82685: [libFuzzer] Rewrite Linux's ExecuteCommand to use fork-exec instead of system()..

My preference would be to reject weird file names instead of adding this extra complexity.

Jul 6 2020, 10:54 AM · Restricted Project

Jun 5 2020

kcc accepted D81284: [hwasan] Disable malloc-fill by default..

LGTM (even though it's sad...)

Jun 5 2020, 11:14 AM · Restricted Project

Jun 4 2020

kcc added a comment to D76986: [asan] Unpoison signal alternate stack..

also, please avoid #ifdefs.
OS-specific code should go to an OS-specific file.

Jun 4 2020, 1:53 PM · Restricted Project

Jun 2 2020

kcc added a comment to D80863: [WebAssembly] Eliminate range checks on br_tables.

Hi, 
This made our ubsan bots red. Please fix or revert ASAP
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/42256

Jun 2 2020, 7:44 PM · Restricted Project

Jun 1 2020

kcc committed rG801d823bdec1: [asan] fix a comment typo (authored by kcc).
[asan] fix a comment typo
Jun 1 2020, 7:30 PM
kcc committed rG2e6c3e3e7b5e: add debug code to chase down a rare crash in asan/lsan https://github. (authored by kcc).
add debug code to chase down a rare crash in asan/lsan https://github.
Jun 1 2020, 7:30 PM
kcc closed D80967: add debug code to chase down a rare crash in asan/lsan https://github.com/google/sanitizers/issues/1193.
Jun 1 2020, 7:30 PM · Restricted Project
kcc added a comment to D80967: add debug code to chase down a rare crash in asan/lsan https://github.com/google/sanitizers/issues/1193.

Submitted: https://github.com/llvm/llvm-project/commit/2e6c3e3e7b5eb46452b1819c69919fab820b4233
(had some trouble with arc... pushed via git push instead of arc land)

Jun 1 2020, 7:30 PM · Restricted Project
kcc updated the diff for D80967: add debug code to chase down a rare crash in asan/lsan https://github.com/google/sanitizers/issues/1193.

(update)

Jun 1 2020, 5:53 PM · Restricted Project
kcc updated the diff for D80967: add debug code to chase down a rare crash in asan/lsan https://github.com/google/sanitizers/issues/1193.

(fix typo)

Jun 1 2020, 5:53 PM · Restricted Project
kcc created D80967: add debug code to chase down a rare crash in asan/lsan https://github.com/google/sanitizers/issues/1193.
Jun 1 2020, 5:53 PM · Restricted Project

May 29 2020

kcc committed rG4034d0ce207d: [libFuzzer] Fixed description of fuzzer merge control file. (authored by adrian).
[libFuzzer] Fixed description of fuzzer merge control file.
May 29 2020, 4:25 PM
kcc closed D80788: [libFuzzer] Fixed description of fuzzer merge control file..
May 29 2020, 4:25 PM · Restricted Project
kcc accepted D80788: [libFuzzer] Fixed description of fuzzer merge control file..
May 29 2020, 3:54 PM · Restricted Project

May 27 2020

kcc added a reviewer for D80648: Avoid O_CLOEXEC to allow building on older Linux (RHEL5): vitalybuka.

Vitaly, please review (and land if ok).

May 27 2020, 11:23 AM · Restricted Project

May 26 2020

kcc committed rG2e824925402f: [fuzzer][afl] Fix build with GCC (authored by kcc).
[fuzzer][afl] Fix build with GCC
May 26 2020, 11:59 AM
kcc closed D80479: [fuzzer][afl] Fix build with GCC.
May 26 2020, 11:59 AM · Restricted Project
kcc accepted D80479: [fuzzer][afl] Fix build with GCC.
May 26 2020, 11:58 AM · Restricted Project

May 18 2020

kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

(let me land it)

May 18 2020, 12:26 PM · Restricted Project, Restricted Project
kcc accepted D73776: Entropic: Boosting LibFuzzer Performance.

Thanks for this work, and the effort to make the code better!

May 18 2020, 11:54 AM · Restricted Project, Restricted Project

May 15 2020

kcc added inline comments to D73776: Entropic: Boosting LibFuzzer Performance.
May 15 2020, 2:42 PM · Restricted Project, Restricted Project

May 1 2020

kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

Sorry for the delay. Mostly naming/style nits left.

May 1 2020, 5:13 PM · Restricted Project, Restricted Project

Apr 22 2020

kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

Please take out the time-related changes for now. If anything, extra changes make the code review process quadratic.

Apr 22 2020, 5:25 PM · Restricted Project, Restricted Project
kcc added reviewers for D68408: [InstCombine] Negator - sink sinkable negations: vitalybuka, dvyukov.

This change causes a performance regression in tsan, as detected on our LLVM buildbot:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/49850/steps/tsan%20analyze/logs/stdio

Apr 22 2020, 4:52 PM · Restricted Project
kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

Commenting on just to issues, not the hole patch.

Apr 22 2020, 1:03 PM · Restricted Project, Restricted Project

Apr 16 2020

kcc added a reviewer for D77753: Change deprecated -fsanitize-recover flag to apply to all sanitizers, not just UBSan.: vitalybuka.
Apr 16 2020, 4:43 PM · Restricted Project

Apr 8 2020

kcc added a comment to D77477: tsan: don't instrument __attribute__((naked)) functions.

The code is ok, but I'd like to see an ACK from Dmitry.

Apr 8 2020, 9:46 AM · Restricted Project

Feb 28 2020

kcc accepted D75389: [DFSan] Add __dfsan_cmp_callback..
Feb 28 2020, 3:39 PM · Restricted Project, Restricted Project
kcc accepted D75386: [DFSan] Add __dfsan_mem_transfer_callback..

We *may* need to add more arguments to these callbacks (with the data pointers) later.
Right now I am not sure.

Feb 28 2020, 2:18 PM · Restricted Project, Restricted Project
kcc accepted D75363: [DFSan] Add __dfsan_load_callback..
Feb 28 2020, 1:51 PM · Restricted Project, Restricted Project

Feb 27 2020

kcc accepted D75312: [DFSan] Add flag to insert event callbacks..

Code LGTM, but please add some comments near the flag definition.

Feb 27 2020, 4:38 PM · Restricted Project, Restricted Project
kcc accepted D75190: [DFSan] Remove unused IRBuilder. NFC.

LGTM

Feb 27 2020, 2:41 PM · Restricted Project

Feb 6 2020

kcc accepted D74150: Update hwasan docs to cover outlined checks and globals..

thanks!

Feb 6 2020, 11:35 AM · Restricted Project

Feb 3 2020

kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

Sounds good. Max and I will do the next round(s) of review.

Feb 3 2020, 4:59 PM · Restricted Project, Restricted Project

Jan 31 2020

kcc accepted D73813: [libFuzzer] Make dataflow and focus functions more user friendly..

LGTM, thanks!

Jan 31 2020, 5:21 PM · Restricted Project, Restricted Project
kcc added a comment to D73776: Entropic: Boosting LibFuzzer Performance.

It's exciting that such a small change can bring such a great improvement.
Thanks for the contribution.

Jan 31 2020, 2:25 PM · Restricted Project, Restricted Project

Jan 29 2020

kcc added a reviewer for D73329: [libFuzzer] communicate through pipe to subprocess for MinimizeCrashInput: vitalybuka.

It looks like this patch has at least two independent changes.
Please prefer to send two+ individual changes next time. (even if the patches are tiny).

Jan 29 2020, 3:47 PM · Restricted Project, Restricted Project

Jan 14 2020

kcc added a comment to D69537: [asan] Provide interface to iterate over all Fake stack regions.
In D69537#1799478, @kcc wrote:

How is this going to work when one thread calls __sanitizer_for_each_extra_stack_range with another thread's ID,
while that other thread creates and discards frames, or while that other thread is being destroyed?

What is assumed is that the other threads have been stopped,

Jan 14 2020, 10:42 AM · Restricted Project, Restricted Project

Dec 30 2019

kcc added a comment to D69537: [asan] Provide interface to iterate over all Fake stack regions.

How is this going to work when one thread calls __sanitizer_for_each_extra_stack_range with another thread's ID,
while that other thread creates and discards frames, or while that other thread is being destroyed?

Dec 30 2019, 4:12 PM · Restricted Project, Restricted Project

Dec 12 2019

kcc accepted D71423: [compiler-rt] libFuzzer: update -merge_control_file= help message..
Dec 12 2019, 11:00 AM · Restricted Project, Restricted Project

Dec 11 2019

kcc added a comment to D70738: [libFuzzer] Add custom output function.

E.g. we have -print_stats that prints machine-readable output, we can do something like that and guarantee it doesn't change.

We want the user to also have user-readable output, though.

Dec 11 2019, 6:20 PM · Restricted Project, Restricted Project

Dec 10 2019

kcc added a comment to D70738: [libFuzzer] Add custom output function.

We're using an autogenerated trait for this anyway, so we get this for free.

Dec 10 2019, 4:46 PM · Restricted Project, Restricted Project

Dec 6 2019

kcc added a comment to D70738: [libFuzzer] Add custom output function.

BTW, may I ask you to provide some details of your Rust fuzz target examples?
(like the code of the fuzz target and the output with your patch)

Dec 6 2019, 1:48 PM · Restricted Project, Restricted Project
kcc added a comment to D70738: [libFuzzer] Add custom output function.

Understood.
Before agreeing with the approach I'd like to hear from more users who need this and some details about their use cases. I've pinged some users.

Dec 6 2019, 1:39 PM · Restricted Project, Restricted Project
kcc added a comment to D70738: [libFuzzer] Add custom output function.

I can totally see how this is helpful in some cases when running libFuzzer manually, but it can also be very annoying when the reproducer is large.
In any kind of automated scenario, it should be easy to add a separate binary that prints the inputs in human readable form.

This requires parsing the human-readable libfuzzer output though, which could change, and is also brittle

Dec 6 2019, 10:50 AM · Restricted Project, Restricted Project

Dec 5 2019

kcc added a reviewer for D70738: [libFuzzer] Add custom output function: vitalybuka.

[sorry for delay, I was OOO]
So, this patch will cause LLVMFuzzerCustomOutput to be called on the reproducer input
which in turn will cause an arbitrarily large input to be printed to stderr (stdin)?
Or in fact, it will cause an arbitrary action to be performed with {Data,Size}

Dec 5 2019, 6:26 PM · Restricted Project, Restricted Project

Nov 26 2019

kcc added inline comments to D70326: [docs] LLVM Security Group and Process.
Nov 26 2019, 5:49 PM · Restricted Project
kcc added a comment to D70738: [libFuzzer] Add custom output function.

I'd prefer to not overload the public interface and this use-case sounds a bit too corner-case-ish.
Am I wrong?

Nov 26 2019, 5:20 PM · Restricted Project, Restricted Project

Nov 4 2019

kcc added a comment to D69593: [libFuzzer] don't use /dev/null for DiscardOuput in Fuchsia..

please avoid #ifdefs -- they are pure evil.
Can you move this function to FuzzerUtil*.cpp?
In this case it will have it's own implementation in FuzzerUtilFuchsia.cpp

Nov 4 2019, 6:29 PM · Restricted Project, Restricted Project

Oct 30 2019

kcc accepted D69208: [asan] Provide an interface to update an allocation stack trace..

LGTM

Oct 30 2019, 4:26 PM · Restricted Project, Restricted Project
kcc accepted D69576: [sanitizer_common] Create max_allocation_size_mb flag..

LGTM, thanks!

Oct 30 2019, 10:12 AM · Restricted Project, Restricted Project

Oct 21 2019

kcc added inline comments to D69208: [asan] Provide an interface to update an allocation stack trace..
Oct 21 2019, 12:49 PM · Restricted Project, Restricted Project
kcc added inline comments to D69208: [asan] Provide an interface to update an allocation stack trace..
Oct 21 2019, 11:05 AM · Restricted Project, Restricted Project

Oct 10 2019

kcc added a comment to D68752: [sancov] Use LLVM Support library JSON writer in favor of individual implementation.

I was actually hoping to get rid of this code entirely.
Why do you need this change?

Oct 10 2019, 6:26 PM · Restricted Project, Restricted Project

Oct 1 2019

kcc accepted D67476: [libFuzzer] Remove lazy counters..

LGTM

Oct 1 2019, 3:08 PM · Restricted Project

Sep 30 2019

kcc accepted D68176: Rename tsan_interceptors.cpp into tsan_interceptors_posix.cpp.

but please update the commit message to explain why this enables us to use __GLIBC_PREREQ

Sep 30 2019, 4:12 PM · Restricted Project, Restricted Project

Sep 11 2019

kcc added a comment to D66160: [llvm-nm] Add tapi file support.

The asan bot is unhappy:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/35078/steps/check-llvm%20asan/logs/stdio

Sep 11 2019, 2:02 PM · Restricted Project

Sep 10 2019

kcc added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

LGTM with one nit, also asking Matt for a second review.

Sep 10 2019, 12:39 PM · Restricted Project, Restricted Project

Aug 16 2019

kcc added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

I would prefer to not introduce this complexity.
For periodic pruning we can use an empty dir, like you describe.
For stats, we can use the overal corpus size (in bytes and in files)

Aug 16 2019, 12:50 PM · Restricted Project, Restricted Project

Jul 16 2019

kcc accepted D64453: [GWP-ASan] Add thread ID to PRNG seed..

LGTM

Jul 16 2019, 12:51 PM · Restricted Project, Restricted Project

Jul 9 2019

kcc added a comment to D62875: [GWP-ASan] Add public-facing documentation [6]..

With a build command line, of course

clang++ -g -std=c++17 string-view-use-after-free.cc  -fsanitize=scudo
Jul 9 2019, 2:48 PM · Restricted Project, Restricted Project
kcc added a comment to D62875: [GWP-ASan] Add public-facing documentation [6]..

Maybe add an example?
something like my favorite

#include <iostream>
#include <string>
#include <string_view>
Jul 9 2019, 2:48 PM · Restricted Project, Restricted Project

Jul 2 2019

kcc added a comment to D63877: Avoid infinite loop with asan interception.

Vitaly, please take a look as well.

Jul 2 2019, 2:50 PM · Restricted Project, Restricted Project
kcc added inline comments to D63877: Avoid infinite loop with asan interception.
Jul 2 2019, 11:18 AM · Restricted Project, Restricted Project
kcc added a comment to D63785: Add support for MUSL libc.

Frankly, I would like to see a parallel effort in Musl.
I've seen the recent comment at https://github.com/google/sanitizers/issues/1080#issuecomment-506565699
suggesting that Musl is not likely to accept this approach.
But please look at the situation from our perspective:
this amount of #ifdefs in the code will increase the cost of maintenance for us, w/o giving much to anyone who doesn't use Musl.
And this is a wrong technical decision anyway, as we've known in 2011 (just didn't have other choice)
and as we've confirmed with our current implementation of HWASAN in Bionic.

Jul 2 2019, 11:12 AM · Restricted Project, Restricted Project