This is an archive of the discontinued LLVM Phabricator instance.

Add generic IPC support for Linux
AbandonedPublic

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

Details

Summary

This changes adds a set of IPC routines for Linux to send and receive various types of data, including byte buffers, strings, integral types, and shared memory. It is almost completely protocol-agnostic, and may be used to create simple protocols as sequences of messages.

The added functionality is orthogonal to what already exists in libFuzzer, and attempts to avoid introducing new dependencies. As a result, this change is rather large.

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

Diff Detail

Event Timeline

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

Rebase

aarongreen updated this revision to Diff 321782.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).