aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/vminfo
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-05-15 15:17:16 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-05-17 08:46:55 +0000
commit15846cbccf63a4e74cce5b8cf0c1931fdcf81ccd (patch)
treecc0f7740f5e2a84cf3c842e30bff93e926a00f6a /pkg/vminfo
parentdf04197b8da247c029f5966369849c8dd8122398 (diff)
pkg/ipc: use flatrpc flags
Flatrpc flags are passed in RPC execution requests, so to avoid conversions and duplicate set of flags use flatrpc flags in pkg/ipc directly.
Diffstat (limited to 'pkg/vminfo')
-rw-r--r--pkg/vminfo/features.go34
-rw-r--r--pkg/vminfo/syscalls.go4
2 files changed, 19 insertions, 19 deletions
diff --git a/pkg/vminfo/features.go b/pkg/vminfo/features.go
index 0cfa980ee..3b7bae8d5 100644
--- a/pkg/vminfo/features.go
+++ b/pkg/vminfo/features.go
@@ -118,24 +118,24 @@ func (ctx *checkContext) finishFeatures(featureInfos []*flatrpc.FeatureInfo) (Fe
// featureToFlags creates ipc flags required to test the feature on a simple program.
// For features that has setup procedure in the executor, we just execute with the default flags.
-func (ctx *checkContext) featureToFlags(feat flatrpc.Feature) (ipc.EnvFlags, ipc.ExecFlags) {
+func (ctx *checkContext) featureToFlags(feat flatrpc.Feature) (flatrpc.ExecEnv, flatrpc.ExecFlag) {
envFlags := ctx.sandbox
// These don't have a corresponding feature and are always enabled.
- envFlags |= ipc.FlagEnableCloseFds | ipc.FlagEnableCgroups | ipc.FlagEnableNetReset
- execFlags := ipc.FlagThreaded
+ envFlags |= flatrpc.ExecEnvEnableCloseFds | flatrpc.ExecEnvEnableCgroups | flatrpc.ExecEnvEnableNetReset
+ execFlags := flatrpc.ExecFlagThreaded
switch feat {
case flatrpc.FeatureCoverage:
- envFlags |= ipc.FlagSignal
- execFlags |= ipc.FlagCollectSignal | ipc.FlagCollectCover
+ envFlags |= flatrpc.ExecEnvSignal
+ execFlags |= flatrpc.ExecFlagCollectSignal | flatrpc.ExecFlagCollectCover
case flatrpc.FeatureComparisons:
- envFlags |= ipc.FlagSignal
- execFlags |= ipc.FlagCollectComps
+ envFlags |= flatrpc.ExecEnvSignal
+ execFlags |= flatrpc.ExecFlagCollectComps
case flatrpc.FeatureExtraCoverage:
- envFlags |= ipc.FlagSignal | ipc.FlagExtraCover
- execFlags |= ipc.FlagCollectSignal | ipc.FlagCollectCover
+ envFlags |= flatrpc.ExecEnvSignal | flatrpc.ExecEnvExtraCover
+ execFlags |= flatrpc.ExecFlagCollectSignal | flatrpc.ExecFlagCollectCover
case flatrpc.FeatureDelayKcovMmap:
- envFlags |= ipc.FlagSignal | ipc.FlagDelayKcovMmap
- execFlags |= ipc.FlagCollectSignal | ipc.FlagCollectCover
+ envFlags |= flatrpc.ExecEnvSignal | flatrpc.ExecEnvDelayKcovMmap
+ execFlags |= flatrpc.ExecFlagCollectSignal | flatrpc.ExecFlagCollectCover
case flatrpc.FeatureSandboxSetuid:
// We use setuid sandbox feature to test that the simple program
// succeeds under the actual sandbox (not necessary setuid).
@@ -145,19 +145,19 @@ func (ctx *checkContext) featureToFlags(feat flatrpc.Feature) (ipc.EnvFlags, ipc
case flatrpc.FeatureFault:
case flatrpc.FeatureLeak:
case flatrpc.FeatureNetInjection:
- envFlags |= ipc.FlagEnableTun
+ envFlags |= flatrpc.ExecEnvEnableTun
case flatrpc.FeatureNetDevices:
- envFlags |= ipc.FlagEnableNetDev
+ envFlags |= flatrpc.ExecEnvEnableNetDev
case flatrpc.FeatureKCSAN:
case flatrpc.FeatureDevlinkPCI:
- envFlags |= ipc.FlagEnableDevlinkPCI
+ envFlags |= flatrpc.ExecEnvEnableDevlinkPCI
case flatrpc.FeatureNicVF:
- envFlags |= ipc.FlagEnableNicVF
+ envFlags |= flatrpc.ExecEnvEnableNicVF
case flatrpc.FeatureUSBEmulation:
case flatrpc.FeatureVhciInjection:
- envFlags |= ipc.FlagEnableVhciInjection
+ envFlags |= flatrpc.ExecEnvEnableVhciInjection
case flatrpc.FeatureWifiEmulation:
- envFlags |= ipc.FlagEnableWifi
+ envFlags |= flatrpc.ExecEnvEnableWifi
case flatrpc.FeatureLRWPANEmulation:
case flatrpc.FeatureBinFmtMisc:
case flatrpc.FeatureSwap:
diff --git a/pkg/vminfo/syscalls.go b/pkg/vminfo/syscalls.go
index 1e9714c9b..f6ab24a04 100644
--- a/pkg/vminfo/syscalls.go
+++ b/pkg/vminfo/syscalls.go
@@ -33,7 +33,7 @@ type checkContext struct {
impl checker
cfg *mgrconfig.Config
target *prog.Target
- sandbox ipc.EnvFlags
+ sandbox flatrpc.ExecEnv
executor queue.Executor
fs filesystem
// Once checking of a syscall is finished, the result is sent to syscalls.
@@ -222,7 +222,7 @@ func (ctx *checkContext) onlySandboxNone() string {
}
func (ctx *checkContext) onlySandboxNoneOrNamespace() string {
- if ctx.sandbox != 0 && ctx.sandbox != ipc.FlagSandboxNamespace {
+ if ctx.sandbox != 0 && ctx.sandbox != flatrpc.ExecEnvSandboxNamespace {
return "only supported under root with sandbox=none/namespace"
}
return ""