aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/flatrpc/flatrpc.fbs
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/flatrpc/flatrpc.fbs')
-rw-r--r--pkg/flatrpc/flatrpc.fbs25
1 files changed, 18 insertions, 7 deletions
diff --git a/pkg/flatrpc/flatrpc.fbs b/pkg/flatrpc/flatrpc.fbs
index 78adc8ec5..b51ea0c70 100644
--- a/pkg/flatrpc/flatrpc.fbs
+++ b/pkg/flatrpc/flatrpc.fbs
@@ -8,6 +8,7 @@ enum Feature : uint64 (bit_flags) {
Comparisons,
ExtraCoverage,
DelayKcovMmap,
+ SandboxNone,
SandboxSetuid,
SandboxNamespace,
SandboxAndroid,
@@ -35,8 +36,11 @@ table ConnectRequestRaw {
table ConnectReplyRaw {
debug :bool;
+ cover :bool;
procs :int32;
slowdown :int32;
+ syscall_timeout_ms :int32;
+ program_timeout_ms :int32;
leak_frames :[string];
race_frames :[string];
// Fuzzer sets up these features and returns results in InfoRequest.features.
@@ -79,7 +83,8 @@ table FeatureInfoRaw {
union HostMessagesRaw {
ExecRequest :ExecRequestRaw,
SignalUpdate :SignalUpdateRaw,
- StartLeakChecks :StartLeakChecksRaw
+ StartLeakChecks :StartLeakChecksRaw,
+ StateRequest :StateRequestRaw,
}
table HostMessageRaw {
@@ -90,6 +95,7 @@ table HostMessageRaw {
union ExecutorMessagesRaw {
ExecResult :ExecResultRaw,
Executing :ExecutingMessageRaw,
+ State :StateResultRaw,
}
table ExecutorMessageRaw {
@@ -100,8 +106,6 @@ enum RequestFlag : uint64 (bit_flags) {
// If set, prog_data contains compiled executable binary
// that needs to be written to disk and executed.
IsBinary,
- // If set, fully reset executor state befor executing the test.
- ResetState,
// If set, collect program output and return in output field.
ReturnOutput,
// If set, don't fail on program failures, instead return the error in error field.
@@ -112,6 +116,8 @@ enum RequestFlag : uint64 (bit_flags) {
enum ExecEnv : uint64 (bit_flags) {
Debug, // debug output from executor
Signal, // collect feedback signals (coverage)
+ ResetState, // fully reset executor state befor executing the test
+ SandboxNone, // minimal sandboxing
SandboxSetuid, // impersonate nobody user
SandboxNamespace, // use namespaces for sandboxing
SandboxAndroid, // use Android sandboxing for the untrusted_app domain
@@ -150,12 +156,8 @@ table ExecRequestRaw {
prog_data :[uint8];
exec_opts :ExecOptsRaw;
flags :RequestFlag;
- signal_filter :[uint64];
- signal_filter_call :int32;
// Return all signal for these calls.
all_signal :[int32];
- // Repeat the program that many times (0 means 1).
- repeat :int32;
}
table SignalUpdateRaw {
@@ -169,6 +171,9 @@ table SignalUpdateRaw {
table StartLeakChecksRaw {
}
+table StateRequestRaw {
+}
+
// Notification from the executor that it started executing the program 'id'.
// We want this request to be as small and as fast as possible b/c we need it
// to reach the host (or at least leave the VM) before the VM crashes
@@ -209,6 +214,8 @@ struct ComparisonRaw {
table ProgInfoRaw {
calls :[CallInfoRaw];
// Contains signal and cover collected from background threads.
+ // The raw version is exported by executor, and them merged into extra on the host.
+ extra_raw :[CallInfoRaw];
extra :CallInfoRaw;
// Total execution time of the program in nanoseconds.
elapsed :uint64;
@@ -223,3 +230,7 @@ table ExecResultRaw {
error :string;
info :ProgInfoRaw;
}
+
+table StateResultRaw {
+ data :[uint8];
+}