aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/instance
diff options
context:
space:
mode:
authorSpace Meyer <spm@google.com>2023-01-09 13:51:24 +0100
committerSpace Meyer <git@the-space.agency>2023-01-09 14:25:36 +0100
commit48bc529a18de54dddab161d995fc3abd85a670a8 (patch)
treef6e8c2b6483271922d388aa7e53b90ae9ae4fe9c /pkg/instance
parentdf3838a1b408f22e5df7cd986138d6ec5768369d (diff)
pkg/instance: move BuildKernel() args to struct
Diffstat (limited to 'pkg/instance')
-rw-r--r--pkg/instance/instance.go29
1 files changed, 19 insertions, 10 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index b697ab926..b393991d0 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -29,7 +29,7 @@ import (
type Env interface {
BuildSyzkaller(string, string) (string, error)
- BuildKernel(string, string, string, string, string, string, []byte) (string, build.ImageDetails, error)
+ BuildKernel(*BuildKernelConfig) (string, build.ImageDetails, error)
Test(numVMs int, reproSyz, reproOpts, reproC []byte) ([]EnvTestResult, error)
}
@@ -38,6 +38,16 @@ type env struct {
optionalFlags bool
}
+type BuildKernelConfig struct {
+ CompilerBin string
+ LinkerBin string
+ CcacheBin string
+ UserspaceDir string
+ CmdlineFile string
+ SysctlFile string
+ KernelConfig []byte
+}
+
func NewEnv(cfg *mgrconfig.Config) (Env, error) {
if !vm.AllowsOvercommit(cfg.Type) {
return nil, fmt.Errorf("test instances are not supported for %v VMs", cfg.Type)
@@ -114,8 +124,7 @@ func (env *env) BuildSyzkaller(repoURL, commit string) (string, error) {
return buildLog, nil
}
-func (env *env) BuildKernel(compilerBin, linkerBin, ccacheBin, userspaceDir, cmdlineFile, sysctlFile string,
- kernelConfig []byte) (
+func (env *env) BuildKernel(buildCfg *BuildKernelConfig) (
string, build.ImageDetails, error) {
imageDir := filepath.Join(env.cfg.Workdir, "image")
params := build.Params{
@@ -124,13 +133,13 @@ func (env *env) BuildKernel(compilerBin, linkerBin, ccacheBin, userspaceDir, cmd
VMType: env.cfg.Type,
KernelDir: env.cfg.KernelSrc,
OutputDir: imageDir,
- Compiler: compilerBin,
- Linker: linkerBin,
- Ccache: ccacheBin,
- UserspaceDir: userspaceDir,
- CmdlineFile: cmdlineFile,
- SysctlFile: sysctlFile,
- Config: kernelConfig,
+ Compiler: buildCfg.CompilerBin,
+ Linker: buildCfg.LinkerBin,
+ Ccache: buildCfg.CcacheBin,
+ UserspaceDir: buildCfg.UserspaceDir,
+ CmdlineFile: buildCfg.CmdlineFile,
+ SysctlFile: buildCfg.SysctlFile,
+ Config: buildCfg.KernelConfig,
}
details, err := build.Image(params)
if err != nil {