Find a file
Chris Down 74b5fb272f cgroup: Allow checking systemd-internal limits against the kernel
We currently don't have any mitigations against another privileged user
on the system messing with the cgroup hierarchy, bringing the system out
of line with what we've set in systemd. We also don't have any real way
to surface this to the user (we do have logs, but you have to know to
look in the first place).

There are a few possible solutions:

1. Maintaining our own cgroup tree with the new fsopen API and having a
   read-only copy for everyone else. However, there are some
   complications on this front, and this may be infeasible in some
   environments. I'd rate this as a longer term effort that's tangential
   to this patch.
2. Actively checking for changes with {fa,i}notify and changing them
   back afterwards to match our configuration again. This is also
   possible, but it's also good to have a way to do passive monitoring
   of the situation without taking hard action. Also, currently daemons
   like senpai do actually need to modify the tree behind systemd's
   back (although hopefully this should be more integrated soon).

This patch implements another option, where one can, on demand, monitor
deviations in cgroup memory configuration from systemd's internal state.
Currently the only consumer is `systemd-analyze dump`, but the interface
is generic enough that it can also be exposed elsewhere later (for
example, over D-Bus).

Currently only memory limit style properties are supported, but later I
also plan to expand this out to other properties that systemd should
have ultimate control over.
2019-10-03 15:06:25 +01:00
.github FUNDING: this needs to be yaml 2019-07-08 16:55:31 +02:00
.lgtm/cpp-queries
.mkosi mkosi: update to Fedora30 (#12642) 2019-05-23 09:39:07 +02:00
catalog catalog: update Polish translation 2019-07-29 09:30:24 +02:00
coccinelle tree-wide: use empty-to-root a bit more 2019-07-16 12:40:22 +02:00
docs Merge pull request #13246 from keszybz/add-SystemdOptions-efi-variable 2019-10-03 12:19:44 +02:00
factory/etc factory: add default /etc/issue file 2019-07-24 08:57:23 +09:00
hwdb hwdb: Add trackpoint rules for Lenovo Thinkpad 70, 80, 90 2019-10-03 11:23:45 +02:00
man Merge pull request #13246 from keszybz/add-SystemdOptions-efi-variable 2019-10-03 12:19:44 +02:00
modprobe.d
network
po po: update Polish translation 2019-10-02 16:11:52 +02:00
presets
rules udev: Add id program and rule for FIDO security tokens 2019-09-07 02:23:58 +09:00
semaphoreci semaphore: turn on systemd-networkd in lxc-containers on Semaphore 2019-09-25 05:19:12 +00:00
shell-completion core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
src cgroup: Allow checking systemd-internal limits against the kernel 2019-10-03 15:06:25 +01:00
sysctl.d sysctl: prefix ping port range setting with a dash 2019-07-26 09:26:07 +02:00
sysusers.d
test Merge pull request #13696 from keszybz/keep-dhcp-on-restart 2019-10-03 11:25:12 +02:00
tmpfiles.d Corect man page reference in systemd-nologin.conf comments 2019-09-24 09:48:03 +02:00
tools oss-fuzz.sh: stop downloading the skia seed corpus 2019-09-11 03:24:29 +03:00
travis-ci fuzzit: export the API key instead of using auth 2019-09-12 14:02:21 +03:00
units networkd: use SIGUSR2 to do a restart 2019-10-02 14:01:42 +02:00
xorg
.ctags
.dir-locals.el
.editorconfig
.gitattributes
.gitignore
.lgtm.yml
.mailmap
.travis.yml travis: skip the right stage 2019-09-07 22:01:16 +00:00
.vimrc
.ycm_extra_conf.py
azure-pipelines.yml Free up some resources on Azure Pipelines 2019-07-17 13:28:38 +09:00
configure
fuzzbuzz.yaml fuzzbuzz: rename fuzz.yaml to fuzzbuzz.yaml 2019-07-10 05:11:52 +03:00
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile
meson.build fix build with compilers with default stack-protector enabled 2019-10-03 12:19:29 +02:00
meson_options.txt meson: fix incomplete option descriptions 2019-08-29 13:56:39 +09:00
mkosi.build
mkosi.default
NEWS Update NEWS for v243 2019-09-03 11:27:19 +02:00
README Drop dbus activation stub service 2019-08-30 18:26:43 +02:00
README.md README: add an OSS-Fuzz badge 2019-08-15 17:34:56 +00:00
TODO TODO: add stuff about timers 2019-09-12 11:17:20 +02:00
zanata.xml

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
Fuzzit Status
OSS-Fuzz Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.