From: Maciek Borzecki Date: Tue, 30 Nov 2021 10:07:30 +0000 (+0100) Subject: units/systemd-udevd: allow bpf() syscall X-Git-Tag: v250-rc1~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ddd608a6ddcd095d378510c7096ee979741046d;p=thirdparty%2Fsystemd.git units/systemd-udevd: allow bpf() syscall Programs run by udev triggers may need to execute the bpf() syscall. Even more so, since on a cgroup v2 system, the only way to set up device access filtering is to install a BPF program on the cgroup in question and one way of passing data to such program is through BPF maps, which can only be access using the bpf() syscall. One such use case was identified in RHBZ#2025264 related to snap-device-helper, and led to RHBZ#2027627 being filed. Unfortunately there is no finer grained control over what gets passed in the syscall, so just enable bpf() and leave fine grained mediation to other security layers (eg. SELinux). Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2027627 Signed-off-by: Maciek Borzecki --- diff --git a/units/systemd-udevd.service.in b/units/systemd-udevd.service.in index c146b0f7f85..d042bfb0d3b 100644 --- a/units/systemd-udevd.service.in +++ b/units/systemd-udevd.service.in @@ -35,7 +35,7 @@ MemoryDenyWriteExecute=yes RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 RestrictRealtime=yes RestrictSUIDSGID=yes -SystemCallFilter=@system-service @module @raw-io +SystemCallFilter=@system-service @module @raw-io bpf SystemCallErrorNumber=EPERM SystemCallArchitectures=native LockPersonality=yes