class Process

Defined at line 66 of file ../../src/sys/fuzzing/realmfuzzer/target/process.h

This class represents a target process being fuzzed. It is a singleton in each process, and its

methods are typically invoked through various callbacks.

Public Methods

void ~Process ()

Defined at line 69 of file ../../src/sys/fuzzing/realmfuzzer/target/process.h

const Options & options ()

Accessors for unit testing.

Defined at line 100 of file ../../src/sys/fuzzing/realmfuzzer/target/process.h

size_t malloc_limit ()

Defined at line 101 of file ../../src/sys/fuzzing/realmfuzzer/target/process.h

zx::time next_purge ()

Defined at line 102 of file ../../src/sys/fuzzing/realmfuzzer/target/process.h

void Process (ExecutorPtr executor)

Defined at line 163 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void InstallHooks ()

Installs the hook functions above in the process' overall global, static context. The methods

used, e.g. |__sanitizer_set_death_callback|, do not have corresponding methods to unset the

hooks, so there is no corresponding "UninstallHooks". As a result, this method can only be

called once per process; subsequent calls will panic.

Defined at line 238 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

ZxPromise<> Connect (fidl::InterfaceHandle<CoverageDataCollector> collector, zx::eventpair eventpair)

Returns a promise to connect to the coverage component and add modules for coverage. This

promise does not return unless there is an error; instead, it |Run|s the fuzzed process and

continues to wait for any dynamically loaded modules. The given |eventpair| is signalled with

|kSync| after the initial set of modules have been published and acknowledged by the engine.

Defined at line 263 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void AddCounters (CountersInfo counters)

Adds the counters and PCs associated with modules for this process. Invoked via the

|__sanitizer_cov_*_init| functions.

Defined at line 182 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void AddPCs (PCsInfo pcs)

Defined at line 198 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void OnMalloc (const volatile void * ptr, size_t size)

|malloc| and |free| hooks, called from a static context via the

|__sanitizer_install_malloc_and_free_hooks| function.

Defined at line 214 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void OnFree (const volatile void * ptr)

Defined at line 223 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void OnDeath ()

Exit hooks, called from a static context via the |__sanitizer_set_death_callback| function an

|std::atexit|.

Defined at line 226 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc

void OnExit ()

Defined at line 229 of file ../../src/sys/fuzzing/realmfuzzer/target/process.cc