Page MenuHomePhabricator

Dor1s (Max Moroz)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 14 2017, 7:36 AM (153 w, 5 d)

Recent Activity

Wed, Jan 22

Dor1s committed rG15f1d5d14425: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found. (authored by Dor1s).
[libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found.
Wed, Jan 22, 1:01 PM
Dor1s closed D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..
Wed, Jan 22, 1:00 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..

one rebase is never enough

Wed, Jan 22, 1:00 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..

rebase

Wed, Jan 22, 1:00 PM · Restricted Project, Restricted Project
Dor1s added a comment to D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..

Given that this is a simple change and Kostya is a busy man I'm going to go ahead and land this. We can always revert if there is any concern.

Wed, Jan 22, 1:00 PM · Restricted Project, Restricted Project
Dor1s committed rG8ded83ff7e04: [llvm-cov] Add support for -skip-functions to lcov (authored by keith).
[llvm-cov] Add support for -skip-functions to lcov
Wed, Jan 22, 12:51 PM
Dor1s closed D73160: [llvm-cov] Add support for -skip-functions to lcov.
Wed, Jan 22, 12:51 PM · Restricted Project
Dor1s updated the diff for D73160: [llvm-cov] Add support for -skip-functions to lcov.

rebase + getting ready to commit

Wed, Jan 22, 12:51 PM · Restricted Project
Dor1s updated the summary of D73160: [llvm-cov] Add support for -skip-functions to lcov.
Wed, Jan 22, 12:51 PM · Restricted Project
Dor1s accepted D73160: [llvm-cov] Add support for -skip-functions to lcov.

LGTM

Wed, Jan 22, 7:02 AM · Restricted Project

Tue, Jan 21

Dor1s added inline comments to D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..
Tue, Jan 21, 1:47 PM · Restricted Project, Restricted Project
Dor1s created D73136: [libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found..
Tue, Jan 21, 1:00 PM · Restricted Project, Restricted Project

Thu, Jan 2

Dor1s accepted D71986: [compiler-rt] Fix typo..
Thu, Jan 2, 7:09 AM · Restricted Project, Restricted Project

Dec 12 2019

Dor1s committed rG926fa4088cc2: [compiler-rt] libFuzzer: update -merge_control_file= help message. (authored by Dor1s).
[compiler-rt] libFuzzer: update -merge_control_file= help message.
Dec 12 2019, 3:55 PM
Dor1s closed D71423: [compiler-rt] libFuzzer: update -merge_control_file= help message..

Landed as https://github.com/llvm/llvm-project/commit/926fa4088cc2d6fdcd9301e80d05d9310009b660, not sure why it hasn't closed automatically.

Dec 12 2019, 1:06 PM · Restricted Project, Restricted Project
Dor1s created D71423: [compiler-rt] libFuzzer: update -merge_control_file= help message..
Dec 12 2019, 9:00 AM · Restricted Project, Restricted Project

Dec 9 2019

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

Another (real) example, imagine a fuzz target like this: https://cs.chromium.org/chromium/src/net/spdy/fuzzing/http2_frame_decoder_fuzzer.cc?rcl=0be62a8d95f7fa1455fce1a76f0fa5b8484d0c8c&l=34

Dec 9 2019, 1:21 PM · Restricted Project, Restricted Project
Dor1s added a comment to D70738: [libFuzzer] Add custom output function.

Here's a concrete example:

Dec 9 2019, 8:24 AM · Restricted Project, Restricted Project
Dor1s added a comment to D70738: [libFuzzer] Add custom output function.

If you're running fuzz targets manually, then it makes sense -- you need to type one command less to print the crash input. Although it seems like cargo fuzz can do that for you as well, so it will be still a single command.

Kind of, cargo fuzz doesn't know how to format your code, only the fuzz target (written by the user) does, since cargo-fuzz is unaware of the types being used. Due to the way libFuzzer works -- it replaces your main function -- we can't add another code path that just loads the string from a specified file and formats it because no matter what libFuzzer will still be run.

Dec 9 2019, 7:57 AM · Restricted Project, Restricted Project

Dec 6 2019

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

If you're running fuzz targets manually, then it makes sense -- you need to type one command less to print the crash input. Although it seems like cargo fuzz can do that for you as well, so it will be still a single command.

Dec 6 2019, 3:30 PM · Restricted Project, Restricted Project
Dor1s added a comment to D70738: [libFuzzer] Add custom output function.

The problem with approaches like this is that you still need to identify the last failing use case and run it a second time. With this patch the user experience is very smooth: the failing string is formatted and printed immediately.

Dec 6 2019, 2:43 PM · Restricted Project, Restricted Project
Dor1s added a comment to D70738: [libFuzzer] Add custom output function.

In Chromium we recommend fuzz target authors do something like this (https://cs.chromium.org/chromium/src/testing/libfuzzer/fuzzers/javascript_parser_proto_fuzzer.cc?l=63&rcl=f88381726e8673b289d79dde6af1b6b7f1ab063a):

Dec 6 2019, 1:49 PM · Restricted Project, Restricted Project

Dec 4 2019

Dor1s committed rGa44ef027ebca: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector. (authored by Dor1s).
[compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector.
Dec 4 2019, 2:21 PM
Dor1s closed D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..
Dec 4 2019, 2:21 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..

another rebase

Dec 4 2019, 2:10 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..

squash

Dec 4 2019, 2:10 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..

rebase

Dec 4 2019, 2:01 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..
  • [compiler-rt] FDP: assert that num_bytes_to_consume == 0 when size == 0.
Dec 4 2019, 2:00 PM · Restricted Project, Restricted Project
Dor1s accepted D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..

TBR simple change.

Dec 4 2019, 1:32 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..
  • remove empty line
Dec 4 2019, 1:32 PM · Restricted Project, Restricted Project
Dor1s created D71031: [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector..
Dec 4 2019, 1:32 PM · Restricted Project, Restricted Project

Nov 14 2019

Dor1s accepted D70200: [llvm-cov] Fix illegal cast from uint64_t to int64_t.

Ha, nice! LGTM. Is there any test you could easily update or add to reproduce this corner case?

Nov 14 2019, 7:30 AM · Restricted Project

Oct 9 2019

Dor1s edited reviewers for D51018: [sancov] Accommodate sancov and coverage report server for use under Windows, added: morehouse, vitalybuka, metzman; removed: aizatsky.
Oct 9 2019, 1:10 PM · Restricted Project, Restricted Project
Dor1s added a comment to D51018: [sancov] Accommodate sancov and coverage report server for use under Windows.

@Dor1s - any chance you know more folks actively working on sancov who have the bandwidth to review?

Oct 9 2019, 1:10 PM · Restricted Project, Restricted Project

Oct 2 2019

Dor1s added a comment to D68351: [profile] Add a mode to continuously sync counter updates to a file.

@vsk Vedant, sorry I'm a bit swamped right now and may not be able to review this promptly. Please let me know If my feedback is important here, I'll try to make up some time in that case. Sorry!

Oct 2 2019, 10:27 PM · Restricted Project, Restricted Project, Restricted Project

Sep 25 2019

Dor1s accepted D68067: [libFuzzer] Dump trace and provide correct msg for overwritten input..

I think Matt is right, but I wouldn't mind to have the stacktrace and stats just to be consistent with the other crashes. Also, having a stacktrace should increase the chances that such a crash would be handled by fuzzing infrastructure and reported to people.

Sep 25 2019, 9:26 PM · Restricted Project, Restricted Project

Sep 16 2019

Dor1s committed rGd0f63f83e7c5: [libFuzzer] Remove unused version of FuzzedDataProvider.h. (authored by Dor1s).
[libFuzzer] Remove unused version of FuzzedDataProvider.h.
Sep 16 2019, 8:01 AM
Dor1s committed rL371997: [libFuzzer] Remove unused version of FuzzedDataProvider.h..
[libFuzzer] Remove unused version of FuzzedDataProvider.h.
Sep 16 2019, 8:01 AM
Dor1s closed D67623: [libFuzzer] Remove unused version of FuzzedDataProvider.h..
Sep 16 2019, 8:00 AM · Restricted Project, Restricted Project
Dor1s accepted D67623: [libFuzzer] Remove unused version of FuzzedDataProvider.h..

Self-approval, removing a stale file that I've gradually migrated to another location.

Sep 16 2019, 7:57 AM · Restricted Project, Restricted Project
Dor1s created D67623: [libFuzzer] Remove unused version of FuzzedDataProvider.h..
Sep 16 2019, 7:55 AM · Restricted Project, Restricted Project

Sep 13 2019

Dor1s accepted D67575: [Coverage] Speed up file-based queries for coverage info, NFC.

Nice!!

Sep 13 2019, 3:53 PM · Restricted Project

Sep 11 2019

Dor1s committed rGaff633f68df6: [libFuzzer] Remove hardcoded number of new features in merge_two_step.test. (authored by Dor1s).
[libFuzzer] Remove hardcoded number of new features in merge_two_step.test.
Sep 11 2019, 12:44 PM
Dor1s committed rL371647: [libFuzzer] Remove hardcoded number of new features in merge_two_step.test..
[libFuzzer] Remove hardcoded number of new features in merge_two_step.test.
Sep 11 2019, 12:44 PM
Dor1s closed D67458: [libFuzzer] Remove hardcoded number of new features in merge_two_step.test..
Sep 11 2019, 12:44 PM · Restricted Project, Restricted Project
Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Hm, doesn't fail for me, but I guess the feature detection might be platform-dependent to some extent, so I'm fine with replacing the number of the features with a regex. Do you want to upload a change, or should I?

I think the bots are also green, so it might be just related to how I build Clang (with libc++, for example). I'm half way through building ToT with GCC, that should give insight whether it's related to my system or my configuration.

Sep 11 2019, 12:44 PM · Restricted Project, Restricted Project
Dor1s created D67458: [libFuzzer] Remove hardcoded number of new features in merge_two_step.test..
Sep 11 2019, 12:44 PM · Restricted Project, Restricted Project
Dor1s accepted D67458: [libFuzzer] Remove hardcoded number of new features in merge_two_step.test..
Sep 11 2019, 12:44 PM · Restricted Project, Restricted Project
Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Hm, doesn't fail for me, but I guess the feature detection might be platform-dependent to some extent, so I'm fine with replacing the number of the features with a regex. Do you want to upload a change, or should I?

Sep 11 2019, 11:24 AM · Restricted Project, Restricted Project
Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

The new test is failing for me because CHECK1 is not satisfied. Instead the line says MERGE-OUTER: 3 new files with 12 new features added; 11 new coverage edges (instead of 11 new features). I'm currently investigating what's wrong here, let me know if you have an idea.

Sep 11 2019, 11:13 AM · Restricted Project, Restricted Project
Dor1s committed rGf054067f276d: [libFuzzer] Make -merge=1 to reuse coverage information from the control file. (authored by Dor1s).
[libFuzzer] Make -merge=1 to reuse coverage information from the control file.
Sep 11 2019, 7:11 AM
Dor1s committed rL371620: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
[libFuzzer] Make -merge=1 to reuse coverage information from the control file.
Sep 11 2019, 7:11 AM
Dor1s closed D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 11 2019, 7:11 AM · Restricted Project, Restricted Project
Dor1s added inline comments to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 11 2019, 7:11 AM · Restricted Project, Restricted Project
Dor1s updated the diff for D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Address review comments

Sep 11 2019, 7:08 AM · Restricted Project, Restricted Project

Sep 10 2019

Dor1s added inline comments to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 10 2019, 3:06 PM · Restricted Project, Restricted Project
Dor1s added inline comments to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 10 2019, 1:05 PM · Restricted Project, Restricted Project

Sep 9 2019

Dor1s committed rGac3dce595c06: [UBSan] Follow up fix for r371442. (authored by Dor1s).
[UBSan] Follow up fix for r371442.
Sep 9 2019, 2:00 PM
Dor1s committed rL371453: [UBSan] Follow up fix for r371442..
[UBSan] Follow up fix for r371442.
Sep 9 2019, 1:59 PM
Dor1s closed D67371: [UBSan] Follow up fix for r371442..
Sep 9 2019, 1:59 PM · Restricted Project, Restricted Project
Dor1s accepted D67371: [UBSan] Follow up fix for r371442..

Made the regexp more explicit. TBRing to fix the broken buildbot: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/23356/steps/check-sanitizer%20in%20gcc%20build/logs/stdio

Sep 9 2019, 1:58 PM · Restricted Project, Restricted Project
Dor1s created D67371: [UBSan] Follow up fix for r371442..
Sep 9 2019, 1:58 PM · Restricted Project, Restricted Project
Dor1s committed rG9508738cd1d4: [UBSan] Do not overwrite the default print_summary sanitizer option. (authored by Dor1s).
[UBSan] Do not overwrite the default print_summary sanitizer option.
Sep 9 2019, 12:33 PM
Dor1s committed rL371442: [UBSan] Do not overwrite the default print_summary sanitizer option..
[UBSan] Do not overwrite the default print_summary sanitizer option.
Sep 9 2019, 12:32 PM
Dor1s closed D67193: [UBSan] Do not overwrite the default print_summary sanitizer option..
Sep 9 2019, 12:32 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D67193: [UBSan] Do not overwrite the default print_summary sanitizer option..

Added a test

Sep 9 2019, 12:32 PM · Restricted Project, Restricted Project
Dor1s added a comment to D67193: [UBSan] Do not overwrite the default print_summary sanitizer option..

Thanks everyone! Good point regarding the test, added!

Sep 9 2019, 12:32 PM · Restricted Project, Restricted Project
Dor1s added a comment to D67193: [UBSan] Do not overwrite the default print_summary sanitizer option..

Removed @kcc as a "blocking" reviewer, since we've discussed this offline last week. I'll check with @vitalybuka regarding potential breakages and also ping @samsonov. Other than that, should be good to go.

Sep 9 2019, 8:12 AM · Restricted Project, Restricted Project
Dor1s added a reviewer for D67193: [UBSan] Do not overwrite the default print_summary sanitizer option.: vitalybuka. Dor1s removed 1 blocking reviewer(s) for D67193: [UBSan] Do not overwrite the default print_summary sanitizer option.: kcc.
Sep 9 2019, 7:20 AM · Restricted Project, Restricted Project

Sep 6 2019

Dor1s updated the summary of D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 6 2019, 6:47 AM · Restricted Project, Restricted Project
Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

We recreate merged_corpus directory and run the second merge step:

./fuzz_target -merge=1 -merge_control_file=MCF ./new_corpus ./existing_corpus ./new_corpus

Should this be ./fuzz_target -merge=1 -merge_control_file=MCF ./merged_corpus ./existing_corpus ./new_corpus?

Sep 6 2019, 6:47 AM · Restricted Project, Restricted Project

Sep 4 2019

Dor1s created D67193: [UBSan] Do not overwrite the default print_summary sanitizer option..
Sep 4 2019, 1:56 PM · Restricted Project, Restricted Project

Sep 3 2019

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

Hey @morehouse and @metzman,

Sep 3 2019, 2:02 PM · Restricted Project, Restricted Project
Dor1s updated the summary of D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 3 2019, 2:02 PM · Restricted Project, Restricted Project
Dor1s retitled D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file. from [libFuzzer] Improve -merge= process to account for REDUCED corpus units. to [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Sep 3 2019, 2:02 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Implement another solution brainstromed with kcc@

Sep 3 2019, 12:55 PM · Restricted Project, Restricted Project

Aug 29 2019

Dor1s updated subscribers of D66985: [llvm-profdata] Add mode to recover from profile read failures.

That's a great change, Vedant!! Thank you! //cc @sajjadm @liaoyuke FYI

Aug 29 2019, 9:33 PM · Restricted Project
Dor1s accepted D66979: [InstrProf] Tighten a check for malformed data records in raw profiles.

Pardon my ignorance, but what does rdar://54843625 mean? I guess it's not http://openradar.appspot.com/54843625 ? Is it something I can access? :)

Aug 29 2019, 9:27 PM · Restricted Project

Aug 16 2019

Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
In D66107#1633546, @kcc wrote:

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, 1:29 PM · Restricted Project, Restricted Project

Aug 14 2019

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

Guys, thanks a lot for the feedback! Some answers below, I'll get back to the code soon.

Aug 14 2019, 7:31 AM · Restricted Project, Restricted Project

Aug 13 2019

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

Friendly ping :) Feedback on the description would be the most important at this point, as I feel like I can improve the code a bit more. But if you could check out the code, that would be also great. Note there are at least two TODOs that I'll address before merging. It's still a draft, even though it works.

Aug 13 2019, 3:47 PM · Restricted Project, Restricted Project

Aug 12 2019

Dor1s updated the diff for D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Update the test a bit more

Aug 12 2019, 2:52 PM · Restricted Project, Restricted Project
Dor1s updated the summary of D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Aug 12 2019, 2:52 PM · Restricted Project, Restricted Project
Dor1s updated the summary of D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Aug 12 2019, 2:52 PM · Restricted Project, Restricted Project
Dor1s updated the summary of D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Aug 12 2019, 2:31 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Actually updated the test to prove everyone (including myself) that this works.

Aug 12 2019, 2:25 PM · Restricted Project, Restricted Project
Dor1s committed rG74cec618f304: [libFuzzer] Merge: print feature coverage number as well. (authored by Dor1s).
[libFuzzer] Merge: print feature coverage number as well.
Aug 12 2019, 1:22 PM
Dor1s committed rL368617: [libFuzzer] Merge: print feature coverage number as well..
[libFuzzer] Merge: print feature coverage number as well.
Aug 12 2019, 1:22 PM
Dor1s closed D66030: [libFuzzer] Merge: print feature coverage number as well..
Aug 12 2019, 1:22 PM · Restricted Project, Restricted Project
Dor1s added a comment to D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

Hi everyone,

Aug 12 2019, 1:10 PM · Restricted Project, Restricted Project
Dor1s updated the diff for D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..

fix a typo

Aug 12 2019, 1:10 PM · Restricted Project, Restricted Project
Dor1s created D66107: [libFuzzer] Make -merge=1 to reuse coverage information from the control file..
Aug 12 2019, 1:10 PM · Restricted Project, Restricted Project
Dor1s added a comment to D66030: [libFuzzer] Merge: print feature coverage number as well..

@morehouse or @hctim please take a look when possible :)

Aug 12 2019, 7:52 AM · Restricted Project, Restricted Project

Aug 9 2019

Dor1s created D66030: [libFuzzer] Merge: print feature coverage number as well..
Aug 9 2019, 1:58 PM · Restricted Project, Restricted Project
Dor1s committed rG3653aeeffa19: [libFuzzer] Merge: print stats after reading the output corpus dir. (authored by Dor1s).
[libFuzzer] Merge: print stats after reading the output corpus dir.
Aug 9 2019, 11:21 AM
Dor1s committed rL368461: [libFuzzer] Merge: print stats after reading the output corpus dir..
[libFuzzer] Merge: print stats after reading the output corpus dir.
Aug 9 2019, 11:21 AM
Dor1s closed D66020: [libFuzzer] Merge: print stats after reading the output corpus dir..
Aug 9 2019, 11:21 AM · Restricted Project, Restricted Project
Dor1s updated the diff for D66020: [libFuzzer] Merge: print stats after reading the output corpus dir..

Use LOADED instead of INITED, plus fix alignment of keywords in the log

Aug 9 2019, 11:12 AM · Restricted Project, Restricted Project
Dor1s created D66020: [libFuzzer] Merge: print stats after reading the output corpus dir..
Aug 9 2019, 11:03 AM · Restricted Project, Restricted Project
Dor1s committed rGf8744ab57a79: [compiler-rt] FuzzedDataProvider: use C++ headers only instead of a C/C++ mix. (authored by Dor1s).
[compiler-rt] FuzzedDataProvider: use C++ headers only instead of a C/C++ mix.
Aug 9 2019, 9:01 AM