kcc (Kostya Serebryany)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

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?

Tue, May 23, 11:35 AM

Fri, May 19

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?.. ).

Fri, May 19, 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).

Fri, May 19, 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?

Fri, May 19, 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?

Fri, May 19, 10:53 AM

Thu, May 18

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?

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

is a test possible?

Thu, May 18, 10:55 AM · Restricted Project

Wed, May 17

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

Mon, May 15

kcc committed rL303132: [asan] make asan under sandboxes more robust.
[asan] make asan under sandboxes more robust
Mon, May 15, 4:51 PM
kcc committed rL303128: [libFuzzer] fix tests on Windows.
[libFuzzer] fix tests on Windows
Mon, May 15, 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…
Mon, May 15, 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…
Mon, May 15, 10:53 AM

Wed, May 10

kcc committed rL302747: [libFuzzer] fix a compiler warning.
[libFuzzer] fix a compiler warning
Wed, May 10, 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.

Wed, May 10, 1:49 PM

Mon, May 8

kcc committed rL302498: [libFuzzer] update docs on -print_coverage/-dump_coverage.
[libFuzzer] update docs on -print_coverage/-dump_coverage
Mon, May 8, 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…
Mon, May 8, 6:30 PM

Fri, May 5

kcc committed rL302321: [sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a….
[sanitizer-coverage] implement -fsanitize-coverage=no-prune,... instead of a…
Fri, May 5, 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…
Fri, May 5, 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…
Fri, May 5, 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)

Fri, May 5, 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?

Fri, May 5, 10:41 AM · Restricted Project

Wed, May 3

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

Tue, May 2

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…
Tue, May 2, 6:40 PM

Mon, May 1

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…
Mon, May 1, 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…
Mon, May 1, 5:45 PM
kcc committed rL301845: [sanitizer-coverage] remove more stale code.
[sanitizer-coverage] remove more stale code
Mon, May 1, 3:20 PM
kcc committed rL301837: [asan] speed up small memcpy (> 32 but <= 64 bytes).
[asan] speed up small memcpy (> 32 but <= 64 bytes)
Mon, May 1, 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…
Mon, May 1, 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
Mon, May 1, 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
kcc committed rL300766: [sanitizer-coverage] remove run-time support for -fsanitize-coverage=trace-bb.
[sanitizer-coverage] remove run-time support for -fsanitize-coverage=trace-bb
Apr 19 2017, 2:43 PM
kcc committed rL300755: Fix a leak in tools/driver/cc1as_main.cpp.
Fix a leak in tools/driver/cc1as_main.cpp
Apr 19 2017, 2:10 PM
kcc closed D32243: Fix a leak in tools/driver/cc1as_main.cpp.
Apr 19 2017, 2:09 PM
kcc created D32243: Fix a leak in tools/driver/cc1as_main.cpp.
Apr 19 2017, 2:05 PM
kcc committed rL300745: [sanitizer-coverage] remove run-time support for the deprecated -fsanitize….
[sanitizer-coverage] remove run-time support for the deprecated -fsanitize…
Apr 19 2017, 1:30 PM
kcc committed rL300744: [sanitizer-coverage] deprecate -fsanitize-coverage=8bit-counters.
[sanitizer-coverage] deprecate -fsanitize-coverage=8bit-counters
Apr 19 2017, 1:29 PM
kcc committed rL300738: [sanitizer-coverage] deprecate some of the stale coverage variants.
[sanitizer-coverage] deprecate some of the stale coverage variants
Apr 19 2017, 1:10 PM

Apr 18 2017

kcc committed rL300642: [libFuzzer] update -help: mention -exact_artifact_path in help for….
[libFuzzer] update -help: mention -exact_artifact_path in help for…
Apr 18 2017, 6:35 PM
kcc added a comment to D32193: More user-friendly libFuzzer flag.

We were not able to figure out what causes such behavior, hints will be appreciated.

This is a linker-dependent behavior, which is hard to predict (a form of ODR violation).
Also depends on the order of the arguments to the linker.
E.g. on Linux:
% cat main.cc
int main() {}
% clang++ main.cc libFuzzer.a && ./a.out

produces a.out with empty main()

% clang++ libFuzzer.a main.cc
main.cc:(.text+0x0): multiple definition of `main'

Apr 18 2017, 3:40 PM
kcc added a comment to D32193: More user-friendly libFuzzer flag.

It makes sense to have some shorter flag combination, I've been asked for it a couple of times.
One more reason for such flag is that I hope to have more/better/other coverage instrumentation and I don't want to make all users change their build rules.

Apr 18 2017, 3:31 PM

Apr 17 2017

kcc committed rL300498: [libFuzzer] experimental option -cleanse_crash: tries to replace all bytes in a….
[libFuzzer] experimental option -cleanse_crash: tries to replace all bytes in a…
Apr 17 2017, 2:11 PM
kcc added a comment to D32096: Always build libfuzzer.

Sounds doable, this is what compiler-rt unit tests are already doing.

but they are in compiler-rt, while this is in llvm

Apr 17 2017, 1:31 PM
kcc accepted D32096: Always build libfuzzer.

George works with me and Anna

I've figured that out. Welcome George!

Apr 17 2017, 1:26 PM
kcc added a comment to D31947: [scudo] Android support groundwork.

Android doesn't support thread_local

Apr 17 2017, 1:03 PM
kcc added a comment to D32096: Always build libfuzzer.

Why do you need this change?
Anyone who wants to build libFuzzer.a can simply run lib/Fuzzer/build.sh.
libFuzzer is independent of the rest of LLVM (except that it requires the target to be built with LLVM's coverage instrumentation)
and so the build is also independent of LLVM.

Apr 17 2017, 11:27 AM

Apr 14 2017

kcc committed rL300366: [libFuzzer] more trophies.
[libFuzzer] more trophies
Apr 14 2017, 1:24 PM
kcc accepted D32066: [ubsan] Use the correct tool name in diagnostics.

LGTM, thanks!

Apr 14 2017, 11:24 AM

Apr 11 2017

kcc committed rL300010: [msan] fix iconv interceptor. before the fix the interceptor failed to mark….
[msan] fix iconv interceptor. before the fix the interceptor failed to mark…
Apr 11 2017, 5:25 PM
kcc added a reviewer for D31457: [asan] Add strndup/__strndup interceptors if targeting linux.: vitalybuka.
Apr 11 2017, 10:26 AM

Apr 10 2017

kcc added a reviewer for D31474: Update suspended threads info to be compatible with darwin: alekseyshl.

Please add Aleksey to all lsan code reviews.

Apr 10 2017, 5:55 PM

Mar 30 2017

kcc committed rL299180: [libFuzzer] simplify the code a bit.
[libFuzzer] simplify the code a bit
Mar 30 2017, 9:30 PM
kcc committed rL299179: [libFuzzer] tests: don't test 64-bit comparison on 32-bit builds.
[libFuzzer] tests: don't test 64-bit comparison on 32-bit builds
Mar 30 2017, 9:04 PM
kcc committed rL299177: [libFuzzer] ensure that strncmp is not inlined in a test.
[libFuzzer] ensure that strncmp is not inlined in a test
Mar 30 2017, 8:47 PM
kcc committed rL299167: [libFuzzer] make sure we don't execute libFuzzer's mem* and str* hooks while….
[libFuzzer] make sure we don't execute libFuzzer's mem* and str* hooks while…
Mar 30 2017, 8:05 PM
kcc committed rL299145: [libFuzzer] try to fix value-profile-strncmp on the Mac bot.
[libFuzzer] try to fix value-profile-strncmp on the Mac bot
Mar 30 2017, 6:05 PM
kcc added inline comments to D31474: Update suspended threads info to be compatible with darwin.
Mar 30 2017, 1:26 PM
kcc added inline comments to D31474: Update suspended threads info to be compatible with darwin.
Mar 30 2017, 11:46 AM

Mar 29 2017

kcc committed rL299051: [libFuzzer] remove a stale flag from tests, run value-profile-strncmp.test….
[libFuzzer] remove a stale flag from tests, run value-profile-strncmp.test…
Mar 29 2017, 9:34 PM
kcc committed rL299046: [libFuzzer] best effort support for -fsanitize-coverage=trace-pc….
[libFuzzer] best effort support for -fsanitize-coverage=trace-pc…
Mar 29 2017, 6:39 PM
kcc accepted D30101: [asan] Implement "scribble" flag, which overwrites free'd memory with 0x55.

LGTM

Mar 29 2017, 6:11 PM · Restricted Project
kcc added inline comments to D30101: [asan] Implement "scribble" flag, which overwrites free'd memory with 0x55.
Mar 29 2017, 6:04 PM · Restricted Project
kcc added inline comments to D30101: [asan] Implement "scribble" flag, which overwrites free'd memory with 0x55.
Mar 29 2017, 5:31 PM · Restricted Project
kcc added a comment to D31449: [tsan] Don't report bugs from interceptors called from libignored modules.

I don't like this change -- it is very un-intuitive that reads/writes affects deadlock checker.
Also remember that deadlock detector does not require instrumentation at all.
Can we solve it with a blacklist?

Mar 29 2017, 5:25 PM · Restricted Project
kcc added inline comments to D31457: [asan] Add strndup/__strndup interceptors if targeting linux..
Mar 29 2017, 4:53 PM
kcc closed D31332: Fix get_groups interceptor in sanitizer.

Next time, please make your patches from llvm/projects/compiler-rt dir, not from llvm/projects

Mar 29 2017, 4:12 PM · Restricted Project
kcc committed rL299036: [sanitizers] Fix get_groups interceptor in sanitizer (https://reviews.llvm..
[sanitizers] Fix get_groups interceptor in sanitizer (https://reviews.llvm.
Mar 29 2017, 4:11 PM

Mar 24 2017

kcc committed rL298755: [libFuzzer] read asan's dedup_token while minimizing a crash and stop….
[libFuzzer] read asan's dedup_token while minimizing a crash and stop…
Mar 24 2017, 6:08 PM
kcc committed rL298746: [libFuzzer] be more careful when calling strlen of strcmp parameters, PR32357.
[libFuzzer] be more careful when calling strlen of strcmp parameters, PR32357
Mar 24 2017, 3:32 PM
kcc accepted D31332: Fix get_groups interceptor in sanitizer.

LGTM, thanks!

Mar 24 2017, 2:36 PM · Restricted Project
kcc committed rL298740: [libFuzzer] honor -exact_artifact_path for all intermediate files during crash….
[libFuzzer] honor -exact_artifact_path for all intermediate files during crash…
Mar 24 2017, 2:21 PM
kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

Do we need a test this big?
We may just have a test with two basic blocks, don't we?

Mar 24 2017, 2:00 PM

Mar 23 2017

kcc accepted D31314: [asan] Delay creation of asan ctor..

LGTM

Mar 23 2017, 6:07 PM
kcc committed rL298673: [libFuzzer] split two tests to get more parallelism in test runs.
[libFuzzer] split two tests to get more parallelism in test runs
Mar 23 2017, 6:03 PM
kcc committed rL298671: [libFuzzer] increase kFeatureSetSize to 2^21 and make InputCorpus scale to that….
[libFuzzer] increase kFeatureSetSize to 2^21 and make InputCorpus scale to that…
Mar 23 2017, 5:57 PM
kcc committed rL298666: [libFuzzer] fix non-linux build.
[libFuzzer] fix non-linux build
Mar 23 2017, 5:01 PM
kcc added inline comments to D31266: [sancov] fixing too aggressive instrumentation elimination.
Mar 23 2017, 4:38 PM
kcc added a comment to D31295: Add free_on_realloc_zero=true flag for compatibility with allocators which allow a realloc(p, 0) and don't free the pointer..

Ok, let's do it. But I'd like to choose a better flag name.

Mar 23 2017, 4:30 PM
kcc committed rL298654: [libFuzzer] create experimental support for user-provided coverage signal.
[libFuzzer] create experimental support for user-provided coverage signal
Mar 23 2017, 3:55 PM
kcc added a comment to D31266: [sancov] fixing too aggressive instrumentation elimination.

I don't like an algorithm were we determine the blocks to instrument while traversing and instrumenting other blocks.
It's much harder to reasons about.

Mar 23 2017, 1:51 PM
kcc added a comment to D31295: Add free_on_realloc_zero=true flag for compatibility with allocators which allow a realloc(p, 0) and don't free the pointer..

The standard says the behaviour is implementation defined, IIRC (I can quote later).

Yes, please!

Mar 23 2017, 1:45 PM