morehouse (Matt Morehouse)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2017, 4:27 PM (43 w, 23 h)

Recent Activity

Mon, Apr 23

morehouse committed rL330652: [libFuzzer] Add feature to not use AFL's deferred forkserver..
[libFuzzer] Add feature to not use AFL's deferred forkserver.
Mon, Apr 23, 2:39 PM
morehouse committed rCRT330652: [libFuzzer] Add feature to not use AFL's deferred forkserver..
[libFuzzer] Add feature to not use AFL's deferred forkserver.
Mon, Apr 23, 2:39 PM
morehouse closed D45744: [libFuzzer] Add experimental feature to not use AFL's deferred forkserver..
Mon, Apr 23, 2:39 PM

Wed, Apr 18

morehouse abandoned D45730: [libFuzzer] Add -detect_exits flag..

All right. If that's the route we want to go, I'll abandon this patch.

Wed, Apr 18, 4:33 PM
morehouse added a reviewer for D45744: [libFuzzer] Add experimental feature to not use AFL's deferred forkserver.: kcc.

Oh, I see. It still looks like the process is only forked every 1000 inputs by default. So LLVMFuzzerInitialize will only run every 1000 inputs, or less if a higher N is specified on the command line.

Wed, Apr 18, 9:47 AM
morehouse added a comment to D45730: [libFuzzer] Add -detect_exits flag..
In D45730#1070575, @kcc wrote:

why is this needed?

Wed, Apr 18, 9:28 AM

Tue, Apr 17

morehouse added a comment to D45744: [libFuzzer] Add experimental feature to not use AFL's deferred forkserver..

Won't this cause LLVMFuzzerInitialize to run every time AFL tries an input?

Tue, Apr 17, 5:05 PM
morehouse updated the diff for D45730: [libFuzzer] Add -detect_exits flag..
  • Add documentation line.
Tue, Apr 17, 12:20 PM
morehouse created D45730: [libFuzzer] Add -detect_exits flag..
Tue, Apr 17, 11:42 AM

Fri, Apr 6

morehouse committed rCRT329438: [libFuzzer] Print a correct error message when a directory can't be.
[libFuzzer] Print a correct error message when a directory can't be
Fri, Apr 6, 11:18 AM
morehouse committed rL329438: [libFuzzer] Print a correct error message when a directory can't be.
[libFuzzer] Print a correct error message when a directory can't be
Fri, Apr 6, 11:18 AM
morehouse closed D45322: [libFuzzer] Print a correct error message when a director can't be opened.
Fri, Apr 6, 11:18 AM
morehouse added a comment to D45322: [libFuzzer] Print a correct error message when a director can't be opened.

If you're new to LLVM, you won't have commit access, so I'll land this patch for you.

Fri, Apr 6, 11:04 AM
morehouse accepted D45322: [libFuzzer] Print a correct error message when a director can't be opened.

LGTM.

Fri, Apr 6, 9:34 AM

Wed, Apr 4

morehouse accepted D45242: [compiler-rt] Support statically linked libc++abi and libunwind.

LGTM.

Wed, Apr 4, 9:11 AM

Mar 27 2018

morehouse committed rCRT328634: [libFuzzer] Disable optimization for exit_on_src_pos.test..
[libFuzzer] Disable optimization for exit_on_src_pos.test.
Mar 27 2018, 9:43 AM
morehouse committed rL328633: [libFuzzer] Place volatile after pointer types..
[libFuzzer] Place volatile after pointer types.
Mar 27 2018, 9:43 AM
morehouse committed rL328634: [libFuzzer] Disable optimization for exit_on_src_pos.test..
[libFuzzer] Disable optimization for exit_on_src_pos.test.
Mar 27 2018, 9:43 AM
morehouse committed rCRT328633: [libFuzzer] Place volatile after pointer types..
[libFuzzer] Place volatile after pointer types.
Mar 27 2018, 9:43 AM

Mar 26 2018

morehouse committed rL328576: [libFuzzer] Do not optimize minimize_two_crashes.test..
[libFuzzer] Do not optimize minimize_two_crashes.test.
Mar 26 2018, 12:39 PM
morehouse committed rCRT328576: [libFuzzer] Do not optimize minimize_two_crashes.test..
[libFuzzer] Do not optimize minimize_two_crashes.test.
Mar 26 2018, 12:39 PM

Mar 23 2018

morehouse committed rCRT328384: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
[libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer.
Mar 23 2018, 4:40 PM
morehouse committed rL328384: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
[libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer.
Mar 23 2018, 4:40 PM
morehouse committed rC328384: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
[libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer.
Mar 23 2018, 4:40 PM
morehouse closed D44798: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
Mar 23 2018, 4:40 PM
morehouse updated the diff for D44798: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
  • Remove new substitutions. Use -O0 to avoid optimization.
Mar 23 2018, 4:36 PM

Mar 22 2018

morehouse added a comment to D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..

I'd also add this attribute to docs/BitCodeFormat.rst and docs/LangRef.rst

Mar 22 2018, 12:55 PM
morehouse committed rL328236: Document optforfuzzing attribute created in r328214..
Document optforfuzzing attribute created in r328214.
Mar 22 2018, 12:53 PM
morehouse added a comment to D44798: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..

16-bit variables are switched to 32-bit variables in SwapCmpTest.cpp and SimpleCmpTest.cpp. This is because those tests rely on libFuzzer's TraceCMP heuristic to pass, but 16-bit compares are not considered for the heuristic.

Mar 22 2018, 12:14 PM
morehouse created D44798: [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer..
Mar 22 2018, 12:08 PM
morehouse abandoned D44057: [SimplifyCFG] Create attribute to disable simplifyCFG..
Mar 22 2018, 10:12 AM
morehouse committed rL328214: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
[SimplifyCFG] Create attribute for fuzzing-specific optimizations.
Mar 22 2018, 10:11 AM
morehouse closed D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
Mar 22 2018, 10:11 AM

Mar 21 2018

morehouse retitled D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations. from [SimplifyCFG] Create attribute to for fuzzing-specific optimizations. to [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
Mar 21 2018, 4:48 PM
morehouse retitled D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations. from [SimplifyCFG] Create attribute to disable select formation. to [SimplifyCFG] Create attribute to for fuzzing-specific optimizations..
Mar 21 2018, 4:48 PM
morehouse updated the diff for D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
  • Rename attribute to OptForFuzzing.
Mar 21 2018, 4:43 PM
morehouse added a comment to D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..

Yea, I think that we should name this something else. It's more than just disabling select formation (which, as we discussed, we'd probably just want to undo in CGP). The problem is optimizations that interfere with the libFuzzer input-value-matching heuristics -- that's really the thing that we need to disable earlier in the pipeline. Thoughts?

Mar 21 2018, 3:35 PM

Mar 19 2018

morehouse added a comment to D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..

Ping. Any objections to moving forward with this patch?

Mar 19 2018, 12:40 PM

Mar 9 2018

morehouse accepted D44340: [Fuzzer] When building for Fuchsia, add an explicit libc++ dependency.

LGTM

Mar 9 2018, 5:15 PM
morehouse committed rCTE327184: [clangd-fuzzer] Update ClangdLSPServer constructor call..
[clangd-fuzzer] Update ClangdLSPServer constructor call.
Mar 9 2018, 3:05 PM
morehouse committed rL327184: [clangd-fuzzer] Update ClangdLSPServer constructor call..
[clangd-fuzzer] Update ClangdLSPServer constructor call.
Mar 9 2018, 3:05 PM

Mar 8 2018

morehouse committed rL327100: Attempt to fix vecreduce-propagate-sd-flags.ll test..
Attempt to fix vecreduce-propagate-sd-flags.ll test.
Mar 8 2018, 6:08 PM
morehouse added a comment to D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..

Shouldn't be too much work. Just turn the logic in CodeGenPrepare::optimizeSelectInst into a utility function, add an aggressive mode, and call it.

Well that's easier than I thought. Thanks for the insight.

Mar 8 2018, 11:03 AM
morehouse added a comment to D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..

Another question: Do we actually want to disable select formation, or, do we want to expand all selects into control flow late in the pipeline (i.e., during instruction selection)? The issue here, as I understand it, is that fuzzing depends on control flow paths to differentiate executions. As a result, we really just don't want to have any selects (we don't want ones that the frontend might generate either).

Mar 8 2018, 10:24 AM
morehouse added a comment to D44057: [SimplifyCFG] Create attribute to disable simplifyCFG..

Do you actually want to disable all CFG simplifications, or do you just need to disable things that convert from control flow to something else (e.g., select formation)?

Mar 8 2018, 8:24 AM

Mar 7 2018

morehouse updated the diff for D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
  • Update test to new attribute name
Mar 7 2018, 3:27 PM
morehouse created D44232: [SimplifyCFG] Create attribute for fuzzing-specific optimizations..
Mar 7 2018, 3:24 PM
morehouse abandoned D43423: [SimplifyCFG] Create flag to disable simplifyCFG..
Mar 7 2018, 2:47 PM
morehouse added a comment to D43978: Write a hash of the binary as the PE Debug Directory Timestamp.

This patch is breaking a few COFF tests: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/14971/steps/check-lld%20msan/logs/stdio.

Mar 7 2018, 1:13 PM
morehouse committed rLLD326931: [lld] Attempt to appease buildbot..
[lld] Attempt to appease buildbot.
Mar 7 2018, 11:23 AM
morehouse committed rL326931: [lld] Attempt to appease buildbot..
[lld] Attempt to appease buildbot.
Mar 7 2018, 11:23 AM

Mar 6 2018

morehouse accepted D44125: [sanitizer] Move mmap interceptors into sanitizer_common.

LGTM

Mar 6 2018, 3:07 PM
morehouse added inline comments to D44125: [sanitizer] Move mmap interceptors into sanitizer_common.
Mar 6 2018, 2:42 PM
morehouse added inline comments to D44125: [sanitizer] Move mmap interceptors into sanitizer_common.
Mar 6 2018, 1:35 PM

Mar 5 2018

morehouse added a comment to D44057: [SimplifyCFG] Create attribute to disable simplifyCFG..

Do you actually want to disable all CFG simplifications, or do you just need to disable things that convert from control flow to something else (e.g., select formation)?

Mar 5 2018, 1:07 PM

Mar 2 2018

morehouse created D44057: [SimplifyCFG] Create attribute to disable simplifyCFG..
Mar 2 2018, 4:50 PM

Feb 27 2018

morehouse added inline comments to D43213: [Fuzzer] Avoid the unnecessary rebuild of the custom libc++.
Feb 27 2018, 9:32 AM

Feb 26 2018

morehouse added a comment to D43213: [Fuzzer] Avoid the unnecessary rebuild of the custom libc++.

Why not just call llvm_ExternalProject_Add rather than duplicating here?

Don't we still want to support the setup where compiler-rt is built as a standalone project in which case llvm_ExternalProject_Add wouldn't be available?

Feb 26 2018, 4:23 PM

Feb 22 2018

morehouse added a comment to D43213: [Fuzzer] Avoid the unnecessary rebuild of the custom libc++.

Why not just call llvm_ExternalProject_Add rather than duplicating here?

Feb 22 2018, 4:52 PM
morehouse committed rCRT325817: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
[libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats.
Feb 22 2018, 11:04 AM
morehouse committed rL325817: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
[libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats.
Feb 22 2018, 11:04 AM
morehouse closed D43597: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
Feb 22 2018, 11:04 AM
morehouse retitled D43597: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats. from [libFuzzer] Reduce frequency of TEMP_MAX_LEN prints. to [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
Feb 22 2018, 10:48 AM
morehouse updated the diff for D43597: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
  • Remove old TEMP_MAX_LEN print.
Feb 22 2018, 10:47 AM
morehouse updated the diff for D43597: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
  • Revert "[libFuzzer] Reduce frequency of TEMP_MAX_LEN prints."
  • Print TEMP_MAX_LEN in Fuzzer::PrintStats.
Feb 22 2018, 10:42 AM

Feb 21 2018

morehouse created D43597: [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats..
Feb 21 2018, 3:35 PM
morehouse added a comment to D43423: [SimplifyCFG] Create flag to disable simplifyCFG..

Some high level comments:

  1. This is something that GCC does relatively frequently (adding frontend options to control optimization passes), but LLVM tends to not expose these details. FWIW, I'd very much prefer the details of the optimizer wouldn't be exposed as frontend flags.

We might not need the flag if we decide to always set no_simplify_cfg during codegen with coverage instrumentation. But we're not sure if we want to do that yet.

Feb 21 2018, 10:50 AM

Feb 16 2018

morehouse updated the summary of D43423: [SimplifyCFG] Create flag to disable simplifyCFG..
Feb 16 2018, 4:46 PM
morehouse created D43423: [SimplifyCFG] Create flag to disable simplifyCFG..
Feb 16 2018, 4:45 PM

Feb 13 2018

morehouse committed rCRT325050: [libFuzzer] Set -experimental_len_control=1000 as default..
[libFuzzer] Set -experimental_len_control=1000 as default.
Feb 13 2018, 12:55 PM
morehouse committed rL325050: [libFuzzer] Set -experimental_len_control=1000 as default..
[libFuzzer] Set -experimental_len_control=1000 as default.
Feb 13 2018, 12:55 PM
morehouse closed D42932: [libFuzzer] Set -experimental_len_control=1000 as default..
Feb 13 2018, 12:55 PM
morehouse updated the summary of D42932: [libFuzzer] Set -experimental_len_control=1000 as default..
Feb 13 2018, 12:51 PM
morehouse updated the diff for D42932: [libFuzzer] Set -experimental_len_control=1000 as default..
  • Rename flag from experimental_len_control to len_control.
Feb 13 2018, 12:48 PM

Feb 5 2018

morehouse created D42932: [libFuzzer] Set -experimental_len_control=1000 as default..
Feb 5 2018, 2:08 PM

Feb 2 2018

morehouse committed rC324132: [clang-proto-to-cxx] Accept protobufs with missing fields..
[clang-proto-to-cxx] Accept protobufs with missing fields.
Feb 2 2018, 12:24 PM
morehouse committed rL324132: [clang-proto-to-cxx] Accept protobufs with missing fields..
[clang-proto-to-cxx] Accept protobufs with missing fields.
Feb 2 2018, 12:24 PM

Jan 30 2018

morehouse committed rCRT323802: [libFuzzer] Fix sizeof(ptr) bug..
[libFuzzer] Fix sizeof(ptr) bug.
Jan 30 2018, 10:27 AM
morehouse committed rL323802: [libFuzzer] Fix sizeof(ptr) bug..
[libFuzzer] Fix sizeof(ptr) bug.
Jan 30 2018, 10:27 AM

Jan 16 2018

morehouse added a comment to D37631: [libFuzzer] Support using libc++.

Vitaly, does this test clean on your end now?

Jan 16 2018, 10:21 AM
morehouse added a comment to D42093: [llvm-cov] Improvements for summary report generated in HTML format..

Changes look nice visually. I think standard practice is to right-align numerical entries, but that might require a bit more work to pad properly.

Jan 16 2018, 10:00 AM

Jan 12 2018

morehouse committed rL322409: [libFuzzer] Fix bug introduced in r322380 that always links -lc++..
[libFuzzer] Fix bug introduced in r322380 that always links -lc++.
Jan 12 2018, 2:12 PM
morehouse committed rCRT322409: [libFuzzer] Fix bug introduced in r322380 that always links -lc++..
[libFuzzer] Fix bug introduced in r322380 that always links -lc++.
Jan 12 2018, 2:12 PM
morehouse added a comment to D37631: [libFuzzer] Support using libc++.

check-fuzzer tests clean for me now with both clang and gcc.

Jan 12 2018, 9:18 AM
morehouse accepted D41642: lib Fuzzer FreeBSD support.

LGTM

Jan 12 2018, 9:09 AM

Jan 10 2018

morehouse added a comment to D41916: SmallVector: fix use-after-poison MSAN error in destructor.

Steve, you need commit access. See https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access. I've pushed this patch for you.

Jan 10 2018, 3:56 PM
morehouse committed rL322241: SmallVector: fix use-after-poison MSAN error in destructor.
SmallVector: fix use-after-poison MSAN error in destructor
Jan 10 2018, 3:54 PM
morehouse closed D41916: SmallVector: fix use-after-poison MSAN error in destructor.
Jan 10 2018, 3:54 PM
morehouse added inline comments to D41642: lib Fuzzer FreeBSD support.
Jan 10 2018, 3:44 PM
morehouse added a comment to D41916: SmallVector: fix use-after-poison MSAN error in destructor.

LGTM for fixing the use-after-dtor. I'll let @dblaikie comment since he brought up template bloat issues on https://reviews.llvm.org/D12970.

Jan 10 2018, 2:52 PM
morehouse added a reviewer for D41916: SmallVector: fix use-after-poison MSAN error in destructor: dblaikie.
Jan 10 2018, 2:47 PM
morehouse added inline comments to D37631: [libFuzzer] Support using libc++.
Jan 10 2018, 2:08 PM
morehouse committed rL322221: [MSan] Enable use-after-dtor instrumentation by default..
[MSan] Enable use-after-dtor instrumentation by default.
Jan 10 2018, 12:29 PM
morehouse committed rCRT322221: [MSan] Enable use-after-dtor instrumentation by default..
[MSan] Enable use-after-dtor instrumentation by default.
Jan 10 2018, 12:29 PM
morehouse committed rC322221: [MSan] Enable use-after-dtor instrumentation by default..
[MSan] Enable use-after-dtor instrumentation by default.
Jan 10 2018, 12:29 PM
morehouse closed D37860: [MSan] Enable use-after-dtor instrumentation by default..
Jan 10 2018, 12:29 PM
morehouse added a comment to D37860: [MSan] Enable use-after-dtor instrumentation by default..

PTAL. Patch has been updated.

Jan 10 2018, 11:52 AM
morehouse updated the diff for D37860: [MSan] Enable use-after-dtor instrumentation by default..
  • Enable use-after-dtor instrumentation by default.
  • Make sanitize-no-dtor-callback.cpp test fail with UAD instrumentation.
  • Update test cases to reflect new default.
Jan 10 2018, 11:50 AM

Jan 5 2018

morehouse added inline comments to D41776: [lit] Implement "-r" option for builtin "diff" command + a test using that..
Jan 5 2018, 10:57 AM

Jan 3 2018

morehouse added a comment to D41206: [llvm-cov] Multi-threaded implementation of prepareFileReports method..

LGTM, but let Vedant comment since he's more familiar with this code.

Jan 3 2018, 3:43 PM