This is an archive of the discontinued LLVM Phabricator instance.

Add IPC for FuzzerRemote on Linux
AbandonedPublic

Authored by aarongreen on Jan 12 2021, 9:54 AM.

Details

Summary

This change adds an implementation of the IPC layer for FuzzerRemote. It translates calls to the FuzzerProxy* methods of the FuzzerRemoteInterface into messages sent over a fuzzer::ipc::Connection, and messages received over that connection into calls to the FuzzerRemote* methods.

This is change 19 of (at least) 20 for cross-process fuzzing support.

Diff Detail

Event Timeline

aarongreen created this revision.Jan 12 2021, 9:54 AM
aarongreen requested review of this revision.Jan 12 2021, 9:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2021, 9:54 AM
Herald added a subscriber: Restricted Project. · View Herald Transcript
aarongreen updated this revision to Diff 321605.Feb 4 2021, 4:05 PM
aarongreen edited the summary of this revision. (Show Details)

Rebase

aarongreen added inline comments.Feb 4 2021, 4:06 PM
compiler-rt/lib/fuzzer/ipc/CMakeLists.txt
2–3

Hmm, this should have been applied from the get-go when ipc/ was created. I'll move it up the chain and rebase (again).

aarongreen updated this revision to Diff 321784.Feb 5 2021, 8:45 AM
aarongreen abandoned this revision.Sep 1 2021, 9:04 AM

Multiprocess fuzzing will not be supported by the libFuzzer maintainers. Fuchsia has implemented a new approach with their Component Fuzzing Framework (RFC-117).