diff options
| author | maramihali <maramihali@google.com> | 2021-07-13 15:42:51 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-13 15:42:51 +0300 |
| commit | df4265465adfccfb96d35b0078d73bce8e16e4d7 (patch) | |
| tree | 4f15c17240db0690fa6d169c88b65e261462ee8b /pkg | |
| parent | 70168d5c7b350934f6b1b1612d3423f24ceef6f1 (diff) | |
syz-verifier: use only system calls supported by all kernels and with no transitive dependencies when building the `prog.ChoiceTable` (#2653)
* pkg/rpctype: add types for CheckUnsupported RPC
* syz-runner: added functionality for detecting unsupported system calls
* syz-verifier: added UpdateUnsupported RPC method
This will receive the unsupported system calls from each kernel,
compute the intersections of system calls that are enabled by all
kernels and build the choice table only using those.
* syz-verifier, syz-runner: report only when specific calls are enabled
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/rpctype/rpctype.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/rpctype/rpctype.go b/pkg/rpctype/rpctype.go index 2f09e9788..8a7fe7aa6 100644 --- a/pkg/rpctype/rpctype.go +++ b/pkg/rpctype/rpctype.go @@ -82,6 +82,23 @@ type RunnerConnectArgs struct { Pool, VM int } +type RunnerConnectRes struct { + // CheckUnsupportedCalls is set to true if the Runner needs to query the kernel + // for unsupported system calls and report them back to the server. + CheckUnsupportedCalls bool +} + +// UpdateUnsupportedArgs contains the data passed from client to server in an +// UpdateSupported call, namely the system calls not supported by the client's +// kernel. +type UpdateUnsupportedArgs struct { + // Pool is used to identify the checked kernel. + Pool int + // UnsupportedCalls contains the ID's of system calls not supported by the + // client and the reason for this. + UnsupportedCalls []SyscallReason +} + // NextExchangeArgs contains the data passed from client to server namely // identification information of the VM and program execution results. type NextExchangeArgs struct { |
