kcc (Kostya Serebryany)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Fri, Jun 16

kcc added a comment to D34267: do more processing in clang-fuzzer (use EmitAssemblyAction).

ignore this for now. I've found how to make it even more interesting (by using llvm::InitializeAllTargets, etc), will send an update later.

Fri, Jun 16, 2:28 PM
kcc accepted D34289: [Sanitizer] Remove CombinedAllocator::Allocate's 'cleared' parameter.

Interesting. The intent was to optimize the calloc implementation to avoid memset of freshly mmap-ed regions.
Apparently, this optimization when somewhere else (to asan_allocator.cc? or disappeared?)
Anyway, this looks like NFC, so LGTM

Fri, Jun 16, 12:35 PM
kcc accepted D34243: [Sanitizers] Secondary allocator respects allocator_may_return_null=1..

LGTM

Fri, Jun 16, 11:17 AM

Thu, Jun 15

kcc created D34267: do more processing in clang-fuzzer (use EmitAssemblyAction).
Thu, Jun 15, 7:06 PM
kcc committed rL305521: [libFuzzer] change the default max_len from 64 to 4096. This will affect cases….
[libFuzzer] change the default max_len from 64 to 4096. This will affect cases…
Thu, Jun 15, 3:44 PM
kcc added a comment to D34243: [Sanitizers] Secondary allocator respects allocator_may_return_null=1..

Code LGTM. What about a test?

Thu, Jun 15, 10:46 AM
kcc added a comment to D32046: [Preprocessor]Correct Macro-Arg allocation of StringifiedArguments, correct getNumArguments.

the bots complain about a leak in the new test code.
Please fix/revert ASAP.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/5691/steps/check-clang%20asan/logs/stdio

28905==ERROR: LeakSanitizer: detected memory leaks

Thu, Jun 15, 10:44 AM

Wed, Jun 14

kcc accepted D34217: Fixing section name for Darwin platforms for sanitizer coverage.

LGTM
(Still: OUCH!)

Wed, Jun 14, 4:19 PM
kcc added a comment to D34210: Add __has_feature(leak_sanitizer).

I'm not sure about this one.
standalone lsan is a link-time feature only, it doesn't change the compilation, so the argument of consistency doesn't apply.

Wed, Jun 14, 10:28 AM

Tue, Jun 13

kcc committed rL305346: [libFuzzer] really restrict the new test to Linux (fails on Mac/Windows….
[libFuzzer] really restrict the new test to Linux (fails on Mac/Windows…
Tue, Jun 13, 5:35 PM
kcc accepted D34180: [ASan] Move rss_limit_is_exceeded_ flag to ASan..

LGTM

Tue, Jun 13, 4:52 PM
kcc added a comment to D34180: [ASan] Move rss_limit_is_exceeded_ flag to ASan..

not sure I understand. you want to move this from common to asan and then back?

Tue, Jun 13, 4:35 PM
kcc committed rL305335: [libFuzzer] restrict the new test to Linux (fails on Mac currently).
[libFuzzer] restrict the new test to Linux (fails on Mac currently)
Tue, Jun 13, 4:09 PM
kcc added a comment to D34180: [ASan] Move rss_limit_is_exceeded_ flag to ASan..

Why?
It would be lovely to have the same flag work in other sanitizers...

Tue, Jun 13, 3:51 PM
kcc committed rL305331: [libFuzzer] initial support of -fsanitize-coverage=inline-8bit-counters in….
[libFuzzer] initial support of -fsanitize-coverage=inline-8bit-counters in…
Tue, Jun 13, 3:32 PM
kcc accepted D34169: [sanitizer] Remove stack size limits from secondary threads..

LGTM

Tue, Jun 13, 2:14 PM
kcc added inline comments to D34152: [sanitizer] MmapAlignedOrDie changes to reduce fragmentation.
Tue, Jun 13, 10:48 AM

Thu, Jun 8

kcc committed rL305026: [sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline….
[sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline…
Thu, Jun 8, 3:59 PM
kcc added a comment to D33878: Handle NetBSD specific _Unwind_Ptr.

@kcc this is first step to upstream NetBSD support for sanitizers - to cleanup build issues in compiler-rt.

Thu, Jun 8, 10:07 AM

Wed, Jun 7

kcc updated subscribers of rL304598: [asan] fix one more case where stack-use-after-return is not async-signal-safe….

Why not just change the host compiler to 6.2?
Or, better, to fresh clang?

Wed, Jun 7, 7:39 AM

Sat, Jun 3

kcc added a reviewer for D33716: Provide path to Solaris.h include (Bug 28370): alekseyshl.
Sat, Jun 3, 7:34 AM

Fri, Jun 2

kcc committed rL304632: [sanitizer-coverage] test for -fsanitize-coverage=inline-8bit-counters.
[sanitizer-coverage] test for -fsanitize-coverage=inline-8bit-counters
Fri, Jun 2, 6:37 PM
kcc committed rL304631: [sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline….
[sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline…
Fri, Jun 2, 6:36 PM
kcc committed rL304630: [sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline….
[sanitizer-coverage] one more flavor of coverage: -fsanitize-coverage=inline…
Fri, Jun 2, 6:36 PM
kcc committed rL304610: [sanitizer-coverage] refactor the code to make it easier to add more sections….
[sanitizer-coverage] refactor the code to make it easier to add more sections…
Fri, Jun 2, 4:14 PM
kcc committed rL304598: [asan] fix one more case where stack-use-after-return is not async-signal-safe….
[asan] fix one more case where stack-use-after-return is not async-signal-safe…
Fri, Jun 2, 2:32 PM

Thu, Jun 1

kcc committed rL304508: [sanitizer-coverage] nuke more stale code.
[sanitizer-coverage] nuke more stale code
Thu, Jun 1, 6:17 PM
kcc committed rL304504: [sanitizer-coverage] nuke more stale code.
[sanitizer-coverage] nuke more stale code
Thu, Jun 1, 5:53 PM
kcc committed rL304503: [sanitizer-coverage] nuke more stale code.
[sanitizer-coverage] nuke more stale code
Thu, Jun 1, 5:18 PM
kcc committed rL304500: [sanitizer-coverage] nuke more stale code.
[sanitizer-coverage] nuke more stale code
Thu, Jun 1, 4:57 PM
kcc added a comment to D33784: Bug 33206 - Sanitizer CHECK failed: ((allocated_for_dlsym)) < ((kDlsymAllocPoolSize)) (1036, 1024)) with preload.

This is a rather intrusive change and I am not convinced we need it in trunk -- nobody has needed it before so it might be some very rare corner case.
Please explain in more detail why this situation happens and why it can't be avoided.
Why the library is not asan-instrumented?
Are you using dynamic asan run-time or static?

Thu, Jun 1, 10:44 AM · Restricted Project

Wed, May 31

kcc committed rL304333: [libFuzzer] fix a test to match the new sanitizer run-time.
[libFuzzer] fix a test to match the new sanitizer run-time
Wed, May 31, 12:47 PM
kcc committed rL304319: [sanitizer-coverage] remove stale code (old coverage); llvm part .
[sanitizer-coverage] remove stale code (old coverage); llvm part
Wed, May 31, 11:28 AM
kcc committed rL304318: [sanitizer-coverage] remove stale code (old coverage); compiler-rt part .
[sanitizer-coverage] remove stale code (old coverage); compiler-rt part
Wed, May 31, 11:27 AM

Tue, May 30

kcc added a comment to D33511: Fix coverage optimization.

dunno :) / :(

Tue, May 30, 3:49 PM

May 25 2017

kcc committed rL303911: [asan] relax sanbox_read_proc_self_maps_test to pass even if unshare() fails..
[asan] relax sanbox_read_proc_self_maps_test to pass even if unshare() fails.
May 25 2017, 1:50 PM

May 24 2017

kcc added a comment to D33511: Fix coverage optimization.

No objections.
Just remember to not mix refactoring/NFC patches and actual changes in logic.

May 24 2017, 7:05 PM
kcc added a comment to D33511: Fix coverage optimization.

LGTM with a nit

May 24 2017, 6:12 PM
kcc accepted D33522: [libFuzzer] Don't replace custom signal handlers..

LGTM with a nit.

May 24 2017, 6:00 PM
kcc added a comment to D33368: [libcxxabi][demangler] Fix a crash in the demangler.

Done (see https://github.com/google/oss-fuzz/blob/master/projects/llvm_libcxxabi/project.yaml)

May 24 2017, 2:32 PM
kcc added a comment to D33368: [libcxxabi][demangler] Fix a crash in the demangler.

Also, are you now maintaining this code?
I am trying to find someone who wants to be CC-ed to other demangler bugs automatically reported by oss-fuzz.

May 24 2017, 2:01 PM
kcc added a comment to D33368: [libcxxabi][demangler] Fix a crash in the demangler.

I also encourage you to run the fuzzer on every change in this code.

May 24 2017, 1:57 PM
kcc added a comment to D33368: [libcxxabi][demangler] Fix a crash in the demangler.

oss-fuzz finds the assertion failure in this new code:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1834

May 24 2017, 1:44 PM

May 23 2017

kcc added a comment to D33472: A simple coverage optimization.

so can I make this change + use your test case to verify that we don't end up with extra instrumentation?

May 23 2017, 9:43 PM
kcc added a comment to D33472: A simple coverage optimization.

What about "is a full post-dominator AND has more than one predecessors" ?

May 23 2017, 6:40 PM
kcc added a comment to D33472: A simple coverage optimization.

void foo(int *a, int *b) {

if (*a > 0) {
  b[1] = 0;
  if (*a > 10) {
    b[3] = 0;
  } else {
    b[4] = 0;
  }
} else {
  if (*a < -10) {
    b[5] = 0;
  } else {
    b[6] = 0;
  }
  b[2] = 0;
}

}

May 23 2017, 6:15 PM
kcc added a comment to D33472: A simple coverage optimization.

Hm... I keep not liking this...
A very simple test case will get too many extra edges instrumented if we get rid of PDOMs, even with your extra optimization.
I have such test, but would you like to come up with a test of your own?
If you give up, I'll send mine.

May 23 2017, 5:52 PM
kcc added a comment to D33427: Disable postdominator coverage optimizations.

@kcc it has a nice property that tests remain the same.

May 23 2017, 4:35 PM
kcc added a comment to D33427: Disable postdominator coverage optimizations.

@kcc what about the following hard'n fast rule: do not instrument basic blocks which have no successors, but have multiple predecessors.

May 23 2017, 4:30 PM
kcc accepted D33427: Disable postdominator coverage optimizations.

LGTM with a nit. Thanks!

May 23 2017, 2:34 PM
kcc added a comment to D33393: [PATCH] Libcxxabi Demangler PR32890.

I don't know this code and can't properly comment, but having a constant like this ("7") sounds wrong.
Why not 6, or 8, or 42?

May 23 2017, 11:35 AM

May 19 2017

kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

@kcc: sure, great!

In the spirit of disclosure, I'm now pretty certain I'm actually hitting a separate bug where the critical edges are not being split (even though SanitizerCoverage pass calls the proper function. Probably another after instrumentation adds them?.. ).

May 19 2017, 1:27 PM
kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

After an offline discussion...
Looks like me and Vitaly both are busy with other stuff and this thing seems to be blocking you and a few others (and maybe prevents us from finding more bugs).
So let's just delete the PDOM part as George suggests and then later come up with a better strategy (and a way to test it).

May 19 2017, 1:20 PM
kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

The numbers I remember were like DOM gives 30% saving, PDOM gives 20% more, which is a lot.

But how would we know whether those numbers are good?

May 19 2017, 11:10 AM
kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

I think we can make a much simpler change: what if we just skip the optimization of not instrumenting post-dominators?

May 19 2017, 10:53 AM

May 18 2017

kcc added a comment to D33334: [asan] Fix handling of non null-terminates strings in strndup interceptor.

The code has been reverted, you may want to sync.
Beside, maybe give a chance to the original code author to finish the work?

May 18 2017, 12:34 PM
kcc added a comment to D33325: [sanitizer] Avoid possible deadlock in child process after fork.

is a test possible?

May 18 2017, 10:55 AM · Restricted Project

May 17 2017

kcc committed rL303324: temporary disable stndup interceptor, due to r302781 being buggy.
temporary disable stndup interceptor, due to r302781 being buggy
May 17 2017, 8:13 PM

May 15 2017

kcc committed rL303132: [asan] make asan under sandboxes more robust.
[asan] make asan under sandboxes more robust
May 15 2017, 4:51 PM
kcc committed rL303128: [libFuzzer] fix tests on Windows.
[libFuzzer] fix tests on Windows
May 15 2017, 4:08 PM
kcc committed rL303125: [libFuzzer] improve the afl driver and it's tests. Make it possible to run….
[libFuzzer] improve the afl driver and it's tests. Make it possible to run…
May 15 2017, 3:52 PM
kcc committed rL303087: [libFuzzer] fix a warning from Wunreachable-code-loop-increment reported by….
[libFuzzer] fix a warning from Wunreachable-code-loop-increment reported by…
May 15 2017, 10:53 AM

May 10 2017

kcc committed rL302747: [libFuzzer] fix a compiler warning.
[libFuzzer] fix a compiler warning
May 10 2017, 5:12 PM
kcc added a comment to D33072: Account for stack redzone when computing sp on darwin.

Whenever possible, prefer if() to #if
In this case, there is a SANITIZER_ macro for this condition.

May 10 2017, 1:49 PM

May 8 2017

kcc committed rL302498: [libFuzzer] update docs on -print_coverage/-dump_coverage.
[libFuzzer] update docs on -print_coverage/-dump_coverage
May 8 2017, 6:48 PM
kcc committed rL302494: [libFuzzer] make sure the input data is not overwritten in the fuzz target (if….
[libFuzzer] make sure the input data is not overwritten in the fuzz target (if…
May 8 2017, 6:30 PM

May 5 2017

kcc committed rL302321: [sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a….
[sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a…
May 5 2017, 4:42 PM
kcc committed rL302320: [sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a….
[sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a…
May 5 2017, 4:41 PM
kcc committed rL302319: [sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a….
[sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a…
May 5 2017, 4:27 PM
kcc added a comment to D32895: [ASAN] Insert call to __asan_init and load of dynamic shadow address in correct order.

Ok.. makes sense. These did not collide before because maybeInsertDynamicShadowAtFunctionEntry is mostly used on WIndows and maybeInsertAsanInitAtFunctionEntry only on Mac. grrr.
Now it does make sense, but I would prefer if the code did not have a duplicated call to maybeInsertAsanInitAtFunctionEntry
(and, of course, a test)

May 5 2017, 11:23 AM · Restricted Project
kcc added a comment to D32895: [ASAN] Insert call to __asan_init and load of dynamic shadow address in correct order.

I don't think this is the right fix.
Please explain more: why does this load from __asan_shadow_memory_dynamic_address happen in a function that does not have sanitize_address attribute?

May 5 2017, 10:41 AM · Restricted Project

May 3 2017

kcc committed rL302064: [asan] print the 'unexpected format specifier in printf interceptor' warning….
[asan] print the 'unexpected format specifier in printf interceptor' warning…
May 3 2017, 11:51 AM

May 2 2017

kcc committed rL301994: [sanitizer-coverage] add a deprecation warning to the old sanitizer-coverage….
[sanitizer-coverage] add a deprecation warning to the old sanitizer-coverage…
May 2 2017, 6:40 PM

May 1 2017

kcc committed rL301889: [sanitizer-coverage] add a deprecation note for the old sanitizer-coverage….
[sanitizer-coverage] add a deprecation note for the old sanitizer-coverage…
May 1 2017, 5:57 PM
kcc committed rL301888: [sanitizer-coverage] update the SanitizerCoverage docs to reflect the current….
[sanitizer-coverage] update the SanitizerCoverage docs to reflect the current…
May 1 2017, 5:45 PM
kcc committed rL301845: [sanitizer-coverage] remove more stale code.
[sanitizer-coverage] remove more stale code
May 1 2017, 3:20 PM
kcc committed rL301837: [asan] speed up small memcpy (> 32 but <= 64 bytes).
[asan] speed up small memcpy (> 32 but <= 64 bytes)
May 1 2017, 2:18 PM
kcc committed rL301826: [sanitizer-coverage] disable coverage_direct=1, will remove the code in a few….
[sanitizer-coverage] disable coverage_direct=1, will remove the code in a few…
May 1 2017, 1:15 PM
kcc committed rL301824: [sanitizer-coverage] add a deprecation note to coverage_direct=1.
[sanitizer-coverage] add a deprecation note to coverage_direct=1
May 1 2017, 1:05 PM

Apr 20 2017

kcc accepted D32312: Changing thread_local to __thread in libFuzzer.

LGTM

Apr 20 2017, 8:38 PM
kcc added a comment to D32312: Changing thread_local to __thread in libFuzzer.

That's even worse.
Why can't you add -Dthread_local=__thread to compiler flags if the compiler is old?

Apr 20 2017, 6:29 PM
kcc committed rL300926: [asan] move textdomain.c to Linux dir, as the test is Linux-specific.
[asan] move textdomain.c to Linux dir, as the test is Linux-specific
Apr 20 2017, 5:15 PM
kcc committed rL300924: sanitizer: fix crash with textdomain(NULL) interceptor.
sanitizer: fix crash with textdomain(NULL) interceptor
Apr 20 2017, 4:51 PM
kcc closed D32318: sanitizer: fix crash with textdomain(NULL) interceptor.
Apr 20 2017, 4:50 PM
kcc accepted D32318: sanitizer: fix crash with textdomain(NULL) interceptor.

LGTM, thanks!
Do you have commit access?

Apr 20 2017, 4:16 PM
kcc accepted D32311: Check for target(popcnt) capability before usage.

LGTM, but please double-check that we get proper attribute in the fresh compiler.

Apr 20 2017, 3:47 PM
kcc added a comment to D32312: Changing thread_local to __thread in libFuzzer.

Yes, I don't like the change -- I really want to have portable modern C++ w/o any old stuff.
Can you do some cmake magic to add -Dthread_local=__thread for old compilers (and only for them)?

Apr 20 2017, 2:55 PM

Apr 19 2017

kcc accepted D32257: Documentation update for a shorter libfuzzer flag in D32193.

LGTM
Sounds good, but I suggest to wait with this change until we fix all the build failures that were caused by enabling libFuzzer build by default.

Apr 19 2017, 5:29 PM
kcc added a comment to D32257: Documentation update for a shorter libfuzzer flag in D32193.

you don't need fresh clang to build libFuzzer itself.
besides, there is already *some* support for using libFuzzer with gcc.

Apr 19 2017, 5:18 PM
kcc committed rL300800: [libFuzzer] extend help for -minimize_crash to cover….
[libFuzzer] extend help for -minimize_crash to cover…
Apr 19 2017, 5:11 PM
kcc accepted D32193: More user-friendly libFuzzer flag.

LGTM

Apr 19 2017, 5:08 PM
kcc added a comment to D32193: More user-friendly libFuzzer flag.

Please also add one full test with -fsanitize=fuzzer in lib/Fuzzer/test (probably, will need to create a subdir). Ok to have it in a separate change.

Apr 19 2017, 5:08 PM
kcc added a comment to D32257: Documentation update for a shorter libfuzzer flag in D32193.

Mmm... No. I still want to have documentation that includes building libFuzzer manually.
I'd rather insert a paragraph explaining how to use -fsanitize=fuzzer with a fresh clang install, but leave the rest unchanged.

Apr 19 2017, 5:06 PM
kcc committed rL300780: [sanitizer-coverage] remove more unused code.
[sanitizer-coverage] remove more unused code
Apr 19 2017, 4:18 PM
kcc committed rL300778: [sanitizer-coverage] remove some more stale code.
[sanitizer-coverage] remove some more stale code
Apr 19 2017, 3:55 PM
kcc committed rL300776: [sanitizer-coverage] trim down the docs.
[sanitizer-coverage] trim down the docs
Apr 19 2017, 3:38 PM
kcc committed rL300775: [sanitizer-coverage] remove run-time support for -fsanitize-coverage=indirect….
[sanitizer-coverage] remove run-time support for -fsanitize-coverage=indirect…
Apr 19 2017, 3:37 PM
kcc committed rL300769: [sanitizer-coverage] remove stale code.
[sanitizer-coverage] remove stale code
Apr 19 2017, 3:01 PM
kcc committed rL300768: [libFuzzer] remove -output_csv option. It duplicates the default output and got….
[libFuzzer] remove -output_csv option. It duplicates the default output and got…
Apr 19 2017, 2:47 PM
kcc committed rL300767: [sanitizer-coverage] deprecate -fsanitize-coverage=trace-bb.
[sanitizer-coverage] deprecate -fsanitize-coverage=trace-bb
Apr 19 2017, 2:44 PM