From c34749dd635bcb3df89afca4269d3b6ca519e706 Mon Sep 17 00:00:00 2001 From: Alex Martens Date: Sun, 17 Jul 2022 22:02:34 -0700 Subject: [PATCH] nixos/github-runner: fix systemd defaults for common workflows --- .../continuous-integration/github-runner.nix | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/continuous-integration/github-runner.nix b/nixos/modules/services/continuous-integration/github-runner.nix index 30dd919b81a3..a64d08c36cbb 100644 --- a/nixos/modules/services/continuous-integration/github-runner.nix +++ b/nixos/modules/services/continuous-integration/github-runner.nix @@ -280,7 +280,6 @@ in CapabilityBoundingSet = ""; # ProtectClock= adds DeviceAllow=char-rtc r DeviceAllow = ""; - LockPersonality = true; NoNewPrivileges = true; PrivateDevices = true; PrivateMounts = true; @@ -300,13 +299,17 @@ in RestrictSUIDSGID = true; UMask = "0066"; ProtectProc = "invisible"; - ProcSubset = "pid"; SystemCallFilter = [ - "~@debug" - "~@mount" - "~@privileged" + "~@capset" + "~@clock" "~@cpu-emulation" + "~@module" + "~@mount" "~@obsolete" + "~@raw-io" + "~@reboot" + "~setdomainname" + "~sethostname" ]; RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" "AF_NETLINK" ]; @@ -314,6 +317,17 @@ in PrivateNetwork = false; # Cannot be true due to Node MemoryDenyWriteExecute = false; + + # The more restrictive "pid" option makes `nix` commands in CI emit + # "GC Warning: Couldn't read /proc/stat" + # You may want to set this to "pid" if not using `nix` commands + ProcSubset = "all"; + # Coverage programs for compiled code such as `cargo-tarpaulin` disable + # ASLR (address space layout randomization) which requires the + # `personality` syscall + # You may want to set this to `true` if not using coverage tooling on + # compiled code + LockPersonality = false; }; }; };