From 590921a5bc7ed9ced1d4c5cb517e4b6355813a5d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 22 Apr 2021 16:13:56 +0200 Subject: executor: set ctrl-alt-del sysctl to 0 This blocks some of the ways the fuzzer can trigger a reboot. ctrl-alt-del=0 tells kernel to signal cad_pid instead of rebooting and setting cad_pid to the current pid (transient "syz-executor setup") makes it a no-op. For context see: https://groups.google.com/g/syzkaller-bugs/c/WqOY4TiRnFg/m/6P9u8lWZAQAJ --- pkg/csource/generated.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pkg') diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 19a3e425e..489f2f3c9 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -9417,11 +9417,14 @@ static void setup_usb() #if SYZ_EXECUTOR || SYZ_SYSCTL #include +#include #include static void setup_sysctl() { - static struct { + char mypid[32]; + snprintf(mypid, sizeof(mypid), "%d", getpid()); + struct { const char* name; const char* data; } files[] = { @@ -9441,6 +9444,8 @@ static void setup_sysctl() {"/proc/sys/kernel/keys/gc_delay", "1"}, {"/proc/sys/vm/nr_overcommit_hugepages", "4"}, {"/proc/sys/vm/oom_kill_allocating_task", "1"}, + {"/proc/sys/kernel/ctrl-alt-del", "0"}, + {"/proc/sys/kernel/cad_pid", mypid}, }; for (size_t i = 0; i < sizeof(files) / sizeof(files[0]); i++) { if (!write_file(files[i].name, files[i].data)) -- cgit mrf-deployment