aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/csource
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-12-29 08:31:07 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-12-29 19:22:34 +0100
commit3d48fa5a53eff7482a19553711e551f2ad2f53c4 (patch)
tree174a0c8fdd848c6b9939fb4b4a20776cef6e02bb /pkg/csource
parenta2af97ddf7ceb4d024d2c8cc7c7d08b226365057 (diff)
executor: log failure in write_file
Almost all callers of write_file just log the failure. Log the failure in write_file directly to remove lots of "error handling" code.
Diffstat (limited to 'pkg/csource')
-rw-r--r--pkg/csource/generated.go56
1 files changed, 15 insertions, 41 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 24f84485e..5c62c8f66 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -2765,6 +2765,7 @@ static bool write_file(const char* file, const char* what, ...)
if (write(fd, buf, len) != len) {
int err = errno;
close(fd);
+ debug("write(%s) failed: %d\n", file, err);
errno = err;
return false;
}
@@ -3272,18 +3273,14 @@ static void setup_cgroups()
if (chmod("/syzcgroup/unified", 0777)) {
debug("chmod(/syzcgroup/unified) failed: %d\n", errno);
}
- if (!write_file("/syzcgroup/unified/cgroup.subtree_control", "+cpu +memory +io +pids +rdma")) {
- debug("write(cgroup.subtree_control) failed: %d\n", errno);
- }
+ write_file("/syzcgroup/unified/cgroup.subtree_control", "+cpu +memory +io +pids +rdma");
if (mkdir("/syzcgroup/cpu", 0777)) {
debug("mkdir(/syzcgroup/cpu) failed: %d\n", errno);
}
if (mount("none", "/syzcgroup/cpu", "cgroup", 0, "cpuset,cpuacct,perf_event,hugetlb")) {
debug("mount(cgroup cpu) failed: %d\n", errno);
}
- if (!write_file("/syzcgroup/cpu/cgroup.clone_children", "1")) {
- debug("write(/syzcgroup/cpu/cgroup.clone_children) failed: %d\n", errno);
- }
+ write_file("/syzcgroup/cpu/cgroup.clone_children", "1");
if (chmod("/syzcgroup/cpu", 0777)) {
debug("chmod(/syzcgroup/cpu) failed: %d\n", errno);
}
@@ -3302,12 +3299,8 @@ static void setup_binfmt_misc()
if (mount(0, "/proc/sys/fs/binfmt_misc", "binfmt_misc", 0, 0)) {
debug("mount(binfmt_misc) failed: %d\n", errno);
}
- if (!write_file("/proc/sys/fs/binfmt_misc/register", ":syz0:M:0:\x01::./file0:")) {
- debug("write(/proc/sys/fs/binfmt_misc/register, syz0) failed: %d\n", errno);
- }
- if (!write_file("/proc/sys/fs/binfmt_misc/register", ":syz1:M:1:\x02::./file0:POC")) {
- debug("write(/proc/sys/fs/binfmt_misc/register, syz1) failed: %d\n", errno);
- }
+ write_file("/proc/sys/fs/binfmt_misc/register", ":syz0:M:0:\x01::./file0:");
+ write_file("/proc/sys/fs/binfmt_misc/register", ":syz1:M:1:\x02::./file0:POC");
}
#endif
@@ -3391,11 +3384,8 @@ static void sandbox_common()
{"/proc/sys/kernel/sem", "1024 1048576 500 1024"},
};
unsigned i;
- for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++) {
- if (!write_file(sysctls[i].name, sysctls[i].value)) {
- debug("failed to set sysctl %s=%s\n", sysctls[i].name, sysctls[i].value);
- }
- }
+ for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++)
+ write_file(sysctls[i].name, sysctls[i].value);
}
int wait_for_loop(int pid)
@@ -3932,41 +3922,27 @@ static void setup_loop()
debug("mkdir(%s) failed: %d\n", cgroupdir, errno);
}
snprintf(file, sizeof(file), "%s/pids.max", cgroupdir);
- if (!write_file(file, "32")) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "32");
snprintf(file, sizeof(file), "%s/memory.low", cgroupdir);
- if (!write_file(file, "%d", 298 << 20)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", 298 << 20);
snprintf(file, sizeof(file), "%s/memory.high", cgroupdir);
- if (!write_file(file, "%d", 299 << 20)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", 299 << 20);
snprintf(file, sizeof(file), "%s/memory.max", cgroupdir);
- if (!write_file(file, "%d", 300 << 20)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", 300 << 20);
snprintf(file, sizeof(file), "%s/cgroup.procs", cgroupdir);
- if (!write_file(file, "%d", pid)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", pid);
snprintf(cgroupdir, sizeof(cgroupdir), "/syzcgroup/cpu/syz%llu", procid);
if (mkdir(cgroupdir, 0777)) {
debug("mkdir(%s) failed: %d\n", cgroupdir, errno);
}
snprintf(file, sizeof(file), "%s/cgroup.procs", cgroupdir);
- if (!write_file(file, "%d", pid)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", pid);
snprintf(cgroupdir, sizeof(cgroupdir), "/syzcgroup/net/syz%llu", procid);
if (mkdir(cgroupdir, 0777)) {
debug("mkdir(%s) failed: %d\n", cgroupdir, errno);
}
snprintf(file, sizeof(file), "%s/cgroup.procs", cgroupdir);
- if (!write_file(file, "%d", pid)) {
- debug("write(%s) failed: %d\n", file, errno);
- }
+ write_file(file, "%d", pid);
#endif
#if SYZ_EXECUTOR || SYZ_RESET_NET_NAMESPACE
checkpoint_net_namespace();
@@ -4015,9 +3991,7 @@ static void setup_test()
if (symlink(cgroupdir, "./cgroup.net")) {
debug("symlink(%s, ./cgroup.net) failed: %d\n", cgroupdir, errno);
}
- if (!write_file("/proc/self/oom_score_adj", "1000")) {
- debug("write(oom_score_adj) failed: %d\n", errno);
- }
+ write_file("/proc/self/oom_score_adj", "1000");
#endif
#if SYZ_EXECUTOR || SYZ_TUN_ENABLE
flush_tun();