diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-12-29 08:31:07 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-12-29 19:22:34 +0100 |
| commit | 3d48fa5a53eff7482a19553711e551f2ad2f53c4 (patch) | |
| tree | 174a0c8fdd848c6b9939fb4b4a20776cef6e02bb /pkg/csource | |
| parent | a2af97ddf7ceb4d024d2c8cc7c7d08b226365057 (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.go | 56 |
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(); |
