Systemd/src/core
Topi Miettinen 7d85383edb tree-wide: add size limits for tmpfs mounts
Limit size of various tmpfs mounts to 10% of RAM, except volatile root and /var
to 25%. Another exception is made for /dev (also /devs for PrivateDevices) and
/sys/fs/cgroup since no (or very few) regular files are expected to be used.

In addition, since directories, symbolic links, device specials and xattrs are
not counted towards the size= limit, number of inodes is also limited
correspondingly: 4MB size translates to 1k of inodes (assuming 4k each), 10% of
RAM (using 16GB of RAM as baseline) translates to 400k and 25% to 1M inodes.

Because nr_inodes option can't use ratios like size option, there's an
unfortunate side effect that with small memory systems the limit may be on the
too large side. Also, on an extremely small device with only 256MB of RAM, 10%
of RAM for /run may not be enough for re-exec of PID1 because 16MB of free
space is required.
2020-05-13 00:37:18 +02:00
..
all-units.h core: add spdx header to all-units.h 2019-07-24 05:06:21 +09:00
audit-fd.c
audit-fd.h
automount.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
automount.h
bpf-devices.c bpf-devices: line-break some overly long function signatures 2020-01-07 18:41:36 +01:00
bpf-devices.h bpf: make bpf_devices_apply_policy() independent of any unit code 2019-11-11 14:55:57 +01:00
bpf-firewall.c core: constify bpf program arrays 2019-11-10 23:22:14 +01:00
bpf-firewall.h bpf-firewall: custom BPF programs through IP(Ingress|Egress)FilterPath= 2019-06-25 09:56:16 +02:00
cgroup.c core/cgroup: fix return value of unit_cgorup_freezer_action() 2020-05-07 22:19:19 +02:00
cgroup.h core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
core-varlink.c core: don't bind varlink socket if running in test mode 2020-05-12 22:10:49 +02:00
core-varlink.h core: add user/group resolution varlink interface to PID 1 2020-01-15 15:28:55 +01:00
dbus-automount.c
dbus-automount.h
dbus-cgroup.c core: write cgroup limits as permilles 2019-11-14 18:41:54 +01:00
dbus-cgroup.h core: make TasksMax a partially dynamic property 2019-11-14 18:41:54 +01:00
dbus-device.c
dbus-device.h
dbus-execute.c Merge pull request #15352 from poettering/user-group-name-valdity-rework 2020-04-09 18:49:22 +02:00
dbus-execute.h core: add ExecStartXYZEx= with dbus support for executable prefixes 2019-05-30 20:41:42 -07:00
dbus-job.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
dbus-job.h pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
dbus-kill.c core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
dbus-kill.h
dbus-manager.c core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
dbus-manager.h core: implement generic log control API in PID1 too 2020-04-21 17:08:23 +02:00
dbus-mount.c
dbus-mount.h
dbus-path.c
dbus-path.h
dbus-scope.c scope: Support RuntimeMaxSec= directive in scope units 2019-10-28 09:44:31 +01:00
dbus-scope.h
dbus-service.c pid1: make TimeoutAbortSec settable for transient units 2019-11-27 13:56:29 +01:00
dbus-service.h
dbus-slice.c
dbus-slice.h
dbus-socket.c user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dbus-socket.h
dbus-swap.c core: expose swap priority value via dbus only if it is set 2020-01-09 17:08:10 +01:00
dbus-swap.h
dbus-target.c
dbus-target.h
dbus-timer.c core: TAKE_PTR in timer_add_one_calendar_spec 2019-08-22 11:02:56 +02:00
dbus-timer.h
dbus-unit.c tree-wide: use _cleanup_set_free_ where appropriate 2020-05-06 17:08:17 +02:00
dbus-unit.h pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
dbus-util.c user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dbus-util.h user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dbus.c pid1: add --bus-introspect 2020-05-05 22:40:44 +02:00
dbus.h pid1: add --bus-introspect 2020-05-05 22:40:44 +02:00
device.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
device.h
dynamic-user.c user-util: rework how we validate user names 2020-04-08 17:11:20 +02:00
dynamic-user.h tree-wide: reorder various structures to make them smaller and use fewer cache lines 2019-03-27 18:11:11 +01:00
efi-random.c core: take random seed from boot loader and credit it to kernel entropy pool 2019-07-25 18:16:46 +02:00
efi-random.h core: take random seed from boot loader and credit it to kernel entropy pool 2019-07-25 18:16:46 +02:00
emergency-action.c core: add new API for enqueing a job with returning the transaction data 2019-03-27 12:37:37 +01:00
emergency-action.h core: change emergency_action() to return void 2019-03-18 16:06:36 +01:00
execute.c core: fix unused variable warning when !HAVE_SECCOMP 2020-04-23 14:42:09 +02:00
execute.h manager: add CoredumpFilter= setting 2020-04-09 14:08:48 +02:00
generator-setup.c Split out generator directory setup to a src/core/generator-setup.c 2020-03-27 20:12:44 +01:00
generator-setup.h Split out generator directory setup to a src/core/generator-setup.c 2020-03-27 20:12:44 +01:00
hostname-setup.c
hostname-setup.h
ima-setup.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
ima-setup.h
ip-address-access.c bpf-firewall: optimization for IPAddressXYZ="any" (and unprivileged users) 2019-06-22 19:56:06 +02:00
ip-address-access.h bpf-firewall: optimization for IPAddressXYZ="any" (and unprivileged users) 2019-06-22 19:56:06 +02:00
job.c core: add debug log when a job in the activation queue is not runnable 2020-04-22 09:58:12 +01:00
job.h job: Don't mark as redundant if deps are relevant 2020-01-03 15:58:10 +01:00
kill.c core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
kill.h core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
killall.c killall: update reference to root storage daemon interface docs 2020-01-13 18:53:46 +01:00
killall.h core/killall: Propagate errors and return the number of process left 2019-04-08 19:41:16 +02:00
kmod-setup.c tree-wide: drop libkmod.h when module-util.h is included 2019-11-04 00:30:32 +09:00
kmod-setup.h
load-dropin.c core,install: allow one more case of "instance propagation" 2020-01-10 14:31:01 +01:00
load-dropin.h pid1: kill unit_file_find_dropin_paths() helper 2019-07-17 14:27:23 +02:00
load-fragment-gperf-nulstr.awk
load-fragment-gperf.gperf.m4 manager: add CoredumpFilter= setting 2020-04-09 14:08:48 +02:00
load-fragment.c tree-wide: Mark as _unused_ variables that are only used in assert() 2020-05-06 23:03:25 +02:00
load-fragment.h manager: add CoredumpFilter= setting 2020-04-09 14:08:48 +02:00
locale-setup.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
locale-setup.h
loopback-setup.c tree-wide: drop missing.h 2019-10-31 17:57:03 +09:00
loopback-setup.h
machine-id-setup.c Generate stable machine-id and DHCP client ID on POWER KVM. 2019-08-31 10:57:16 +02:00
machine-id-setup.h
macros.systemd.in rpm: avoid hiding errors from systemd commands 2019-03-22 20:54:59 +01:00
main.c pid1: add --bus-introspect 2020-05-05 22:40:44 +02:00
manager.c tree-wide: make sure our control buffers are properly aligned 2020-05-07 14:39:44 +02:00
manager.h pid1: when showing error status, do not switch to status=temporary 2020-03-01 11:42:42 +01:00
meson.build Split out generator directory setup to a src/core/generator-setup.c 2020-03-27 20:12:44 +01:00
mount-setup.c tree-wide: add size limits for tmpfs mounts 2020-05-13 00:37:18 +02:00
mount-setup.h mount-setup: change the system mount propagation to shared by default only at bootup 2020-04-09 10:14:20 +02:00
mount.c basic/set: let set_put_strdup() create the set with string hash ops 2020-05-06 16:54:06 +02:00
mount.h core/mount: support "systemctl clean" for mount units 2019-08-28 23:09:54 +09:00
namespace.c tree-wide: add size limits for tmpfs mounts 2020-05-13 00:37:18 +02:00
namespace.h core: add new LogNamespace= execution setting 2020-01-31 15:01:43 +01:00
org.freedesktop.systemd1.conf
org.freedesktop.systemd1.policy.in
org.freedesktop.systemd1.service Revert "Drop dbus activation stub service" 2019-12-20 17:28:12 +01:00
path.c core: fix compilation with gcc -O3 2020-05-09 09:10:25 +02:00
path.h
scope.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
scope.h scope: Support RuntimeMaxSec= directive in scope units 2019-10-28 09:44:31 +01:00
selinux-access.c selinux: print enforcing state in access check debug message 2020-03-27 20:54:58 +01:00
selinux-access.h selinux: do preprocessor check only in selinux-access.c 2020-04-29 13:56:40 +02:00
selinux-setup.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
selinux-setup.h
service.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
service.h core: (De-)Serialize poll flag for fds in fdstore 2020-04-30 19:42:53 +02:00
show-status.c pid1: add new mode systemd.show-status=error and use it when 'quiet' is passed 2020-03-01 11:48:23 +01:00
show-status.h pid1: add new mode systemd.show-status=error and use it when 'quiet' is passed 2020-03-01 11:48:23 +01:00
slice.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
slice.h
smack-setup.c tree-wide: drop dirent.h when dirent-util.h is included 2019-11-04 00:30:32 +09:00
smack-setup.h
socket.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
socket.h core/socket: support "systemctl clean" for socket units 2019-08-28 23:09:54 +09:00
swap.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
swap.h core: swap priority can be negative 2019-12-04 08:57:08 +01:00
system.conf.in log: add support for prefixing console log messages with current timestamp 2020-02-10 07:01:30 -05:00
systemd.pc.in tree-wide: spellcheck using codespell 2020-04-16 18:00:40 +02:00
target.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
target.h
timer.c pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
timer.h core: optionally, trigger .timer units on timezone and clock changes 2019-04-02 08:20:10 +02:00
transaction.c Remove unneded {}s 2020-04-13 09:31:49 +02:00
transaction.h core: Add triggering job mode 2019-11-05 11:17:38 -08:00
triggers.systemd.in
unit-printf.c Add %l as specifier for the hostname without any domain component 2020-05-07 17:36:44 +02:00
unit-printf.h core: mark unit_*_printf() functions as taking a const Unit* 2019-10-16 16:21:56 +02:00
unit.c tree-wide: Replace assert() by assert_se() when there is side effect 2020-05-10 09:23:12 +02:00
unit.h pid1: convert to the new scheme 2020-05-05 22:40:37 +02:00
user.conf.in log: add support for prefixing console log messages with current timestamp 2020-02-10 07:01:30 -05:00