diff options
Diffstat (limited to 'pkg/instance/instance.go')
| -rw-r--r-- | pkg/instance/instance.go | 29 |
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 { |
