]> git.ipfire.org Git - thirdparty/systemd.git/commit
pid1: stop making /dev noexec
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 11 Dec 2020 11:28:44 +0000 (12:28 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sat, 12 Dec 2020 10:56:48 +0000 (10:56 +0000)
commit4eb105fa4aae30566d23382e8c9430eddf1a3dd4
treef53f8c8ac1adc09ad6a194256e4d5de5f344aebf
parent25b514cd00ecbff02d312f6325b43adccb5d496c
pid1: stop making /dev noexec

Quoting Andy Lutomirski:
> The upcoming Linux SGX driver has a device node /dev/sgx.  User code opens
> it, does various setup things, mmaps it, and needs to be able to create
> PROT_EXEC mappings.  This gets quite awkward if /dev is mounted noexec.

We already didn't use noexec in spawn, and this extends this behaviour to other
systems.

Afaik, the kernel would refuse execve() on a character or block device
anyway. Thus noexec on /dev matters only for actual binaries copied to /dev,
which requires root privileges in the first place.

We don't do noexec on either /tmp or /dev/shm (because that causes immediate
problems with stuff like Java and cffi). And if you have those two at your
disposal anyway, having noexec on /dev doesn't seem important. So the 'noexec'
attribute on /dev doesn't really mean much, since there are multiple other
similar directories which don't require root privileges to write to.

C.f. https://salsa.debian.org/kernel-team/initramfs-tools/-/commit/33c10ef43b03dc6d9ee09a46c598f6ee34ad0b81.
src/core/mount-setup.c