• Home
  • Raw
  • Download

Lines Matching refs:cfg

98 	cfg, err := LoadPartialData(data)
102 if err := Complete(cfg); err != nil {
105 return cfg, nil
109 cfg, err := LoadPartialFile(filename)
113 if err := Complete(cfg); err != nil {
116 return cfg, nil
120 cfg := defaultValues()
121 if err := config.LoadData(data, cfg); err != nil {
124 return loadPartial(cfg)
128 cfg := defaultValues()
129 if err := config.LoadFile(filename, cfg); err != nil {
132 return loadPartial(cfg)
146 func loadPartial(cfg *Config) (*Config, error) {
148 cfg.TargetOS, cfg.TargetVMArch, cfg.TargetArch, err = splitTarget(cfg.Target)
152 return cfg, nil
155 func Complete(cfg *Config) error {
156 if cfg.TargetOS == "" || cfg.TargetVMArch == "" || cfg.TargetArch == "" {
159 if cfg.Workdir == "" {
162 cfg.Workdir = osutil.Abs(cfg.Workdir)
163 if cfg.Syzkaller == "" {
166 if err := completeBinaries(cfg); err != nil {
169 if cfg.HTTP == "" {
172 if cfg.Type == "" {
175 if cfg.Procs < 1 || cfg.Procs > 32 {
176 return fmt.Errorf("bad config param procs: '%v', want [1, 32]", cfg.Procs)
178 switch cfg.Sandbox {
183 if err := checkSSHParams(cfg); err != nil {
187 cfg.KernelObj = osutil.Abs(cfg.KernelObj)
188 if cfg.KernelSrc == "" {
189 cfg.KernelSrc = cfg.KernelObj // assume in-tree build by default
191 cfg.KernelSrc = osutil.Abs(cfg.KernelSrc)
192 if cfg.HubClient != "" && (cfg.Name == "" || cfg.HubAddr == "" || cfg.HubKey == "") {
195 if cfg.DashboardClient != "" && (cfg.Name == "" ||
196 cfg.DashboardAddr == "" ||
197 cfg.DashboardKey == "") {
204 func checkSSHParams(cfg *Config) error {
205 if cfg.SSHUser == "" {
208 if cfg.SSHKey == "" {
211 info, err := os.Stat(cfg.SSHKey)
216 return fmt.Errorf("sshkey %v is unprotected, ssh will reject it, do chmod 0600", cfg.SSHKey)
221 func completeBinaries(cfg *Config) error {
222 sysTarget := targets.Get(cfg.TargetOS, cfg.TargetArch)
224 return fmt.Errorf("unsupported OS/arch: %v/%v", cfg.TargetOS, cfg.TargetArch)
226 cfg.Syzkaller = osutil.Abs(cfg.Syzkaller)
229 return filepath.Join(cfg.Syzkaller, "bin", cfg.TargetOS+"_"+arch, name+exe)
231 cfg.SyzFuzzerBin = targetBin("syz-fuzzer", cfg.TargetVMArch)
232 cfg.SyzExecprogBin = targetBin("syz-execprog", cfg.TargetVMArch)
233 cfg.SyzExecutorBin = targetBin("syz-executor", cfg.TargetArch)
234 if !osutil.IsExist(cfg.SyzFuzzerBin) {
235 return fmt.Errorf("bad config syzkaller param: can't find %v", cfg.SyzFuzzerBin)
237 if !osutil.IsExist(cfg.SyzExecprogBin) {
238 return fmt.Errorf("bad config syzkaller param: can't find %v", cfg.SyzExecprogBin)
240 if !osutil.IsExist(cfg.SyzExecutorBin) {
241 return fmt.Errorf("bad config syzkaller param: can't find %v", cfg.SyzExecutorBin)