Page MenuHomePhabricator

kcc (Kostya Serebryany)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Mon, Nov 22

kcc added a comment to D114293: [ASan] Added __asan_shadow_memory variable which points to the beginning of the shadow region using some assembly trickery..

LGTM, but please wait for Vitaly

Mon, Nov 22, 11:14 AM · Restricted Project

Fri, Nov 19

kcc added inline comments to D114293: [ASan] Added __asan_shadow_memory variable which points to the beginning of the shadow region using some assembly trickery..
Fri, Nov 19, 3:35 PM · Restricted Project

Tue, Nov 9

kcc committed rGb7f3a4f4fa14: [sancov] add tracing for loads and store (authored by kcc).
[sancov] add tracing for loads and store
Tue, Nov 9, 2:35 PM
kcc closed D113447: [sancov] add tracing for loads and store.
Tue, Nov 9, 2:35 PM · Restricted Project, Restricted Project, Restricted Project
kcc added inline comments to D113447: [sancov] add tracing for loads and store.
Tue, Nov 9, 10:29 AM · Restricted Project, Restricted Project, Restricted Project
kcc updated the diff for D113447: [sancov] add tracing for loads and store.

addressed review comments

Tue, Nov 9, 10:26 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Nov 8

kcc requested review of D113447: [sancov] add tracing for loads and store.
Mon, Nov 8, 5:57 PM · Restricted Project, Restricted Project, Restricted Project

Sep 21 2021

kcc added inline comments to D110119: [sanitizer coverage] write the pc-table at the process exit.
Sep 21 2021, 9:10 AM · Restricted Project
kcc committed rG11c533e1ea38: [sanitizer coverage] write the pc-table at the process exit (authored by kcc).
[sanitizer coverage] write the pc-table at the process exit
Sep 21 2021, 9:10 AM
kcc closed D110119: [sanitizer coverage] write the pc-table at the process exit.
Sep 21 2021, 9:09 AM · Restricted Project

Sep 20 2021

kcc requested review of D110119: [sanitizer coverage] write the pc-table at the process exit.
Sep 20 2021, 6:00 PM · Restricted Project

Sep 1 2021

kcc committed rGb0fdbadf9f09: [ubsan] warn inside the sigaction interceptor if static linking is suspected… (authored by kcc).
[ubsan] warn inside the sigaction interceptor if static linking is suspected…
Sep 1 2021, 12:37 PM
kcc closed D109081: [ubsan] warn inside the sigaction interceptor if static linking is suspected, and continue instead of crashing on null deref.
Sep 1 2021, 12:37 PM · Restricted Project
kcc requested review of D109081: [ubsan] warn inside the sigaction interceptor if static linking is suspected, and continue instead of crashing on null deref.
Sep 1 2021, 12:05 PM · Restricted Project

Aug 24 2021

kcc committed rG8103b0700dcb: [sanitizer coverage] add a basic default implementation of callbacks for… (authored by kcc).
[sanitizer coverage] add a basic default implementation of callbacks for…
Aug 24 2021, 2:57 PM
kcc closed D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.
Aug 24 2021, 2:56 PM · Restricted Project
kcc added inline comments to D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.
Aug 24 2021, 2:44 PM · Restricted Project

Aug 20 2021

kcc updated the diff for D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.

one more test fix (can't expect xxd to be present)

Aug 20 2021, 9:56 AM · Restricted Project
kcc updated the diff for D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.

fix a test

Aug 20 2021, 9:07 AM · Restricted Project

Aug 19 2021

kcc updated the diff for D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.

fix dfsan build

Aug 19 2021, 3:18 PM · Restricted Project
kcc requested review of D108405: [sanitizer coverage] add a basic default implementation of callbacks for -fsanitize-coverage=inline-8bit-counters,pc-table.
Aug 19 2021, 1:52 PM · Restricted Project

Aug 18 2021

kcc added a comment to D108323: [asan] Added -inline-small-callbacks LLVM flag, which would force inline code for 8 and 16 byte data types when otherwise a callback would have been used..

What's the code size implications?

Aug 18 2021, 3:36 PM · Restricted Project, Restricted Project

Aug 4 2021

kcc committed rG597e407cf23b: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets (authored by kcc).
[libFuzzer] tests/examples for using libFuzzer for out-of-process targets
Aug 4 2021, 5:38 PM
kcc closed D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.
Aug 4 2021, 5:37 PM · Restricted Project
kcc updated the diff for D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.

limit the test to x86_64 linux as it is too experimental to be used elsewhere,
and __libfuzzer_extra_counters are linux-only anyway, currently.

Aug 4 2021, 5:12 PM · Restricted Project
kcc updated the diff for D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.

fixing incomplete fix, sorry

Aug 4 2021, 3:26 PM · Restricted Project
kcc added inline comments to D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.
Aug 4 2021, 3:25 PM · Restricted Project
kcc updated the diff for D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.

addressed one more review comment

Aug 4 2021, 3:25 PM · Restricted Project
kcc updated the diff for D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.

addressed review comments

Aug 4 2021, 3:23 PM · Restricted Project
kcc requested review of D107498: [libFuzzer] tests/examples for using libFuzzer for out-of-process targets.
Aug 4 2021, 1:33 PM · Restricted Project

Aug 3 2021

kcc added inline comments to D106676: Enable extra coverage counters on Windows.
Aug 3 2021, 12:45 PM · Restricted Project
kcc committed rGff163ef12b30: [libFuzzer] fix clang-tidy (authored by kcc).
[libFuzzer] fix clang-tidy
Aug 3 2021, 12:36 PM
kcc closed D107382: [libFuzzer] fix clang-tidy.
Aug 3 2021, 12:36 PM · Restricted Project
kcc requested review of D107382: [libFuzzer] fix clang-tidy.
Aug 3 2021, 11:43 AM · Restricted Project
kcc committed rG7c921753e0f5: [libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are… (authored by kcc).
[libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are…
Aug 3 2021, 11:31 AM
kcc closed D107374: [libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected..
Aug 3 2021, 11:31 AM · Restricted Project
kcc requested review of D107374: [libFuzzer] replace Vector/Set with std::vector/std::set. The custom names are not required any more since we now build with a private version of libc++. Fix some of the 81+ character lines. Mechanical change, NFC expected..
Aug 3 2021, 10:11 AM · Restricted Project
kcc added a comment to D106676: Enable extra coverage counters on Windows.

One comment that I have is a request to limit the number of #ifdefs in the code to at most one.
We typically achieve this by having platform-specific code in a platform-specific file, guarded with an ifdef.

Aug 3 2021, 7:48 AM · Restricted Project

Aug 2 2021

kcc added a reviewer for D106676: Enable extra coverage counters on Windows: morehouse.
Aug 2 2021, 3:09 PM · Restricted Project

Jul 15 2021

kcc accepted D106101: [asan] Slightly modified the documentation..

LGTM

Jul 15 2021, 4:30 PM · Restricted Project

Jul 12 2021

kcc added a comment to D105284: Greedy set cover implementation of `Merger::Merge`.

Thanks for the change!
Indeed, the current single-pass merge is far from perfect, and it's nice to see your numbers.

Jul 12 2021, 12:43 PM · Restricted Project
kcc added a reviewer for D105284: Greedy set cover implementation of `Merger::Merge`: morehouse.
Jul 12 2021, 12:24 PM · Restricted Project

Jun 17 2021

kcc added a comment to D104494: [dfsan] Replace dfs$ prefix with .dfsan suffix.

Yey, great idea! :)
(I am not reviewing the code; but the change looks straightforward)

Jun 17 2021, 4:56 PM · Restricted Project, Restricted Project, Restricted Project

Jun 7 2021

kcc updated subscribers of D102475: Prevent introduction of a dependency of libasan.a on libstdc++.

+Vitaly Buka <vitalybuka@google.com> +Matt Morehouse <mascasa@google.com>

Jun 7 2021, 10:19 AM · Restricted Project

Mar 2 2021

kcc added reviewers for D96120: [scudo] Port scudo sanitizer to Windows: kcc, pcc, vitalybuka.

We can't possibly maintain two variants of scudo.
All effort is currently spent on the newer (standalone) version.
I am afraid we will have to delete the older (non-standalone) variant entirely.
(And the sooner the better)

Mar 2 2021, 10:28 AM · Restricted Project, Restricted Project

Feb 24 2021

kcc added a comment to D96842: [dfsan] Do not specialize vector<bool> for DFSan.

ugh..
If I were the maintainer of this file, I would run away from this change.
Not because there is something wrong with it functionality-wise, but because of the ifdefs :(
We ourselves in the sanitizer land would reject a change with this many ifdefs w/o looking further.

Feb 24 2021, 3:35 PM · Restricted Project

Feb 17 2021

kcc added a comment to D96842: [dfsan] Do not specialize vector<bool> for DFSan.

(2 bytes per bit!)

1 byte per bit, hopefully. (for the new 8-bit mode only)

Feb 17 2021, 3:25 PM · Restricted Project
kcc added a comment to D96842: [dfsan] Do not specialize vector<bool> for DFSan.

The reason why we can't make this change as-is is that it modifies the API of std::vector when instantiated with bool when the dataflow sanitizer is used. Specifically, the specialization of vector<bool> has a different interface, it's not only an optimization. For example std::vector<bool>::reference has a .flip() method. So if someone is doing something like v[3].flip() (which is legal), now their code won't compile when they turn on the dataflow sanitizer. That's not acceptable, and it would make us non-conforming when the dataflow sanitizer is used.

Feb 17 2021, 1:52 PM · Restricted Project
kcc added a comment to D96842: [dfsan] Do not specialize vector<bool> for DFSan.

Why not?
DFSan is a separate ABI, you can't mix DFSan-ified code with non-DFSan-ified code.
There is no annotation that we can imagine to work in this case.
DFSan's metadata is per-byte, if we mix different taints in a single byte (8 packet bits) we get an overtaint, i.e. a false positive.
The only other solution for our users is to not use vector<bool>

Feb 17 2021, 9:04 AM · Restricted Project

Feb 11 2021

kcc accepted D96357: [Sanitizer] Fix sanitizer tests without reducing optimization levels.

LGTM, thanks for the better fix!

Feb 11 2021, 12:42 PM · Restricted Project

Feb 8 2021

kcc added a comment to D96198: [Sanitizer] Fix failing sanitizer tests.

yea, I am afraid that removing -O1 weakens our ability to find subtle bugs in how sanitizers work with the optimized code.
After all, most of the uses for the sanitizers are with -O1 and higher, so by testing with -O0 we are hiding potential problems.
I think the best is to prevent inlining (noinline attribute, or a command line if available)

Feb 8 2021, 4:00 PM · Restricted Project

Jan 11 2021

kcc added a comment to D93879: Add LLVMFuzzerAddToDictionary.

I am reluctant to extend the public interface in ways that
a) are likely to be useful for only few cases
b) are likely to remain libFuzzer-specific
c) already have an existing functionality that can be used instead). I mean the existing -dict flag (it's not exactly what you describe though)

Jan 11 2021, 6:09 PM · Restricted Project

Dec 4 2020

kcc added a comment to D92683: [compiler-rt][fuzzer] Make fuzzer interface header public.

This header is intentionally private, so that the fuzz targets remain engine-neutral.

Dec 4 2020, 1:30 PM · Restricted Project

Dec 2 2020

kcc added a comment to D92490: [msan] Do not use 77 as exit code, instead use 1.

This worked for us for many years.
Changing the default is likely to break some of the existing users.

Dec 2 2020, 2:04 PM · Restricted Project

Nov 3 2020

kcc added a reviewer for D89959: UBSAN: emit distinctive traps in trapping mode: morehouse.

did you consider approaches where the emitted code doesn't change, but the binary contains a debug-like metadata that corresponds to the trap instructions?
Matt (CC-ed) has a patch if this kind (for a different purpose) in the works .

Nov 3 2020, 3:23 PM · Restricted Project

Oct 20 2020

kcc accepted D89552: ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1.

LGTM, thanks!

Oct 20 2020, 9:54 AM · Restricted Project

Oct 19 2020

kcc added a comment to D89755: [fuzzer] Add Windows Visual C++ exception intercept.

But I'm not sure how best to integrate this -- are there existing crashing tests somewhere I should add this to?

compiler-rt/test/fuzzer

Oct 19 2020, 6:05 PM · Restricted Project
kcc added a reviewer for D89755: [fuzzer] Add Windows Visual C++ exception intercept: metzman.

please no #ifdefs.
please add a test.

Oct 19 2020, 5:18 PM · Restricted Project
kcc added inline comments to D89552: ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1.
Oct 19 2020, 10:49 AM · Restricted Project

Oct 16 2020

kcc updated subscribers of D89552: ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1.
Oct 16 2020, 11:32 AM · Restricted Project
kcc added inline comments to D89552: ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1.
Oct 16 2020, 11:31 AM · Restricted Project

Sep 23 2020

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.

Sep 23 2020, 12:23 PM · Restricted Project

Sep 2 2020

kcc added a reviewer for D86931: [Asan] Don't crash if metadata is not initialized: morehouse.
Sep 2 2020, 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