aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2021-07-14 17:01:48 +0000
committerAleksandr Nogikh <wp32pw@gmail.com>2021-07-20 13:39:45 +0200
commitb5969a9bdd1769ae7dc56682c4dbb8bc8f2ab7c3 (patch)
tree1859559654383d8f1b771ece935aca6a1b6371c0 /pkg/build
parentbc48c9ab65ed47d707bedef64ca52e1a5c383250 (diff)
all: remove pointers to pkg.build.Params
The struct pkg.build.Params is currently primarily passed on as a pointer, which leads make it hard to see the places, where it can (and should) actually be modified. Make it all more explicit by only passing pointer references to objects of this type when the object is expected to be modified by the function. In fact, at this moment there are no such situations.
Diffstat (limited to 'pkg/build')
-rw-r--r--pkg/build/akaros.go2
-rw-r--r--pkg/build/build.go6
-rw-r--r--pkg/build/darwin.go2
-rw-r--r--pkg/build/freebsd.go2
-rw-r--r--pkg/build/fuchsia.go2
-rw-r--r--pkg/build/gvisor.go2
-rw-r--r--pkg/build/linux.go10
-rw-r--r--pkg/build/linux_linux.go2
-rw-r--r--pkg/build/linux_nolinux.go2
-rw-r--r--pkg/build/netbsd.go2
-rw-r--r--pkg/build/openbsd.go2
-rw-r--r--pkg/build/test.go2
12 files changed, 18 insertions, 18 deletions
diff --git a/pkg/build/akaros.go b/pkg/build/akaros.go
index 73f4e9ac8..046096708 100644
--- a/pkg/build/akaros.go
+++ b/pkg/build/akaros.go
@@ -16,7 +16,7 @@ import (
type akaros struct{}
-func (ctx akaros) build(params *Params) error {
+func (ctx akaros) build(params Params) error {
configFile := filepath.Join(params.KernelDir, ".config")
if err := osutil.WriteFile(configFile, params.Config); err != nil {
return fmt.Errorf("failed to write config file: %v", err)
diff --git a/pkg/build/build.go b/pkg/build/build.go
index 9b0f9ded7..3b3387f4d 100644
--- a/pkg/build/build.go
+++ b/pkg/build/build.go
@@ -51,7 +51,7 @@ type Params struct {
// behavior. Binary equal builds, or builds that differ only in e.g. debug info,
// have the same ID. The ID may be empty if OS implementation does not have
// a way to calculate such IDs.
-func Image(params *Params) (string, error) {
+func Image(params Params) (string, error) {
builder, err := getBuilder(params.TargetOS, params.TargetArch, params.VMType)
if err != nil {
return "", err
@@ -104,12 +104,12 @@ func (err *KernelError) Error() string {
}
type builder interface {
- build(params *Params) error
+ build(params Params) error
clean(kernelDir, targetArch string) error
}
type signer interface {
- sign(params *Params) (string, error)
+ sign(params Params) (string, error)
}
func getBuilder(targetOS, targetArch, vmType string) (builder, error) {
diff --git a/pkg/build/darwin.go b/pkg/build/darwin.go
index 41cfad7a6..fa4007eb5 100644
--- a/pkg/build/darwin.go
+++ b/pkg/build/darwin.go
@@ -9,7 +9,7 @@ import (
type darwin struct{}
-func (ctx darwin) build(params *Params) error {
+func (ctx darwin) build(params Params) error {
// TODO(HerrSpace): Implement this.
return fmt.Errorf("pkg/build: darwin.build not implemented")
}
diff --git a/pkg/build/freebsd.go b/pkg/build/freebsd.go
index d002b8ad0..f8ac801ea 100644
--- a/pkg/build/freebsd.go
+++ b/pkg/build/freebsd.go
@@ -16,7 +16,7 @@ import (
type freebsd struct{}
-func (ctx freebsd) build(params *Params) error {
+func (ctx freebsd) build(params Params) error {
confDir := fmt.Sprintf("%v/sys/%v/conf/", params.KernelDir, params.TargetArch)
confFile := "SYZKALLER"
diff --git a/pkg/build/fuchsia.go b/pkg/build/fuchsia.go
index 7e9be5dff..8ad06f1af 100644
--- a/pkg/build/fuchsia.go
+++ b/pkg/build/fuchsia.go
@@ -27,7 +27,7 @@ func syzRoot() (string, error) {
return filepath.Abs(filepath.Join(filepath.Dir(selfPath), "../.."))
}
-func (fu fuchsia) build(params *Params) error {
+func (fu fuchsia) build(params Params) error {
syzDir, err := syzRoot()
if err != nil {
return err
diff --git a/pkg/build/gvisor.go b/pkg/build/gvisor.go
index f26a09346..0925a7b7c 100644
--- a/pkg/build/gvisor.go
+++ b/pkg/build/gvisor.go
@@ -19,7 +19,7 @@ type gvisor struct{}
var bazelTargetPath = regexp.MustCompile(`(?sm:.*^)\s*Outputs: \[(.*)\](?sm:$.*)`)
-func (gvisor gvisor) build(params *Params) error {
+func (gvisor gvisor) build(params Params) error {
if params.Compiler == "" {
params.Compiler = "bazel"
}
diff --git a/pkg/build/linux.go b/pkg/build/linux.go
index be2341311..7aedaef16 100644
--- a/pkg/build/linux.go
+++ b/pkg/build/linux.go
@@ -26,7 +26,7 @@ type linux struct{}
var _ signer = linux{}
-func (linux linux) build(params *Params) error {
+func (linux linux) build(params Params) error {
if err := linux.buildKernel(params); err != nil {
return err
}
@@ -47,11 +47,11 @@ func (linux linux) build(params *Params) error {
return embedLinuxKernel(params, kernelPath)
}
-func (linux linux) sign(params *Params) (string, error) {
+func (linux linux) sign(params Params) (string, error) {
return elfBinarySignature(filepath.Join(params.OutputDir, "obj", "vmlinux"))
}
-func (linux linux) buildKernel(params *Params) error {
+func (linux linux) buildKernel(params Params) error {
configFile := filepath.Join(params.KernelDir, ".config")
if err := linux.writeFile(configFile, params.Config); err != nil {
return fmt.Errorf("failed to write config file: %v", err)
@@ -96,7 +96,7 @@ func (linux linux) buildKernel(params *Params) error {
return nil
}
-func (linux) createImage(params *Params, kernelPath string) error {
+func (linux) createImage(params Params, kernelPath string) error {
tempDir, err := ioutil.TempDir("", "syz-build")
if err != nil {
return err
@@ -162,7 +162,7 @@ func runMakeImpl(arch, compiler, ccache, kernelDir string, addArgs ...string) er
return err
}
-func runMake(params *Params, addArgs ...string) error {
+func runMake(params Params, addArgs ...string) error {
return runMakeImpl(params.TargetArch, params.Compiler, params.Ccache, params.KernelDir, addArgs...)
}
diff --git a/pkg/build/linux_linux.go b/pkg/build/linux_linux.go
index af34d6b22..0a59f3fd7 100644
--- a/pkg/build/linux_linux.go
+++ b/pkg/build/linux_linux.go
@@ -22,7 +22,7 @@ import (
// - ssh works without password (we don't copy the key)
// - cmdline file is not supported (should be moved to kernel config)
// - the kernel is stored in the image in /vmlinuz file.
-func embedLinuxKernel(params *Params, kernelPath string) error {
+func embedLinuxKernel(params Params, kernelPath string) error {
if params.CmdlineFile != "" {
return fmt.Errorf("cmdline file is not supported for linux images")
}
diff --git a/pkg/build/linux_nolinux.go b/pkg/build/linux_nolinux.go
index 7353bb275..0210627f5 100644
--- a/pkg/build/linux_nolinux.go
+++ b/pkg/build/linux_nolinux.go
@@ -10,6 +10,6 @@ import (
"errors"
)
-func embedLinuxKernel(params *Params, kernelPath string) error {
+func embedLinuxKernel(params Params, kernelPath string) error {
return errors.New("building linux image is only supported on linux")
}
diff --git a/pkg/build/netbsd.go b/pkg/build/netbsd.go
index 309a90299..89b22cf82 100644
--- a/pkg/build/netbsd.go
+++ b/pkg/build/netbsd.go
@@ -22,7 +22,7 @@ import (
type netbsd struct{}
-func (ctx netbsd) build(params *Params) error {
+func (ctx netbsd) build(params Params) error {
const kernelName = "GENERIC_SYZKALLER"
confDir := fmt.Sprintf("%v/sys/arch/%v/conf", params.KernelDir, params.TargetArch)
compileDir := fmt.Sprintf("%v/sys/arch/%v/compile/obj/%v", params.KernelDir, params.TargetArch, kernelName)
diff --git a/pkg/build/openbsd.go b/pkg/build/openbsd.go
index a47579035..1446d1e18 100644
--- a/pkg/build/openbsd.go
+++ b/pkg/build/openbsd.go
@@ -15,7 +15,7 @@ import (
type openbsd struct{}
-func (ctx openbsd) build(params *Params) error {
+func (ctx openbsd) build(params Params) error {
const kernelName = "SYZKALLER"
confDir := fmt.Sprintf("%v/sys/arch/%v/conf", params.KernelDir, params.TargetArch)
compileDir := fmt.Sprintf("%v/sys/arch/%v/compile/%v", params.KernelDir, params.TargetArch, kernelName)
diff --git a/pkg/build/test.go b/pkg/build/test.go
index e80afcc86..93ae27f96 100644
--- a/pkg/build/test.go
+++ b/pkg/build/test.go
@@ -5,7 +5,7 @@ package build
type test struct{}
-func (tb test) build(params *Params) error {
+func (tb test) build(params Params) error {
return nil
}