summaryrefslogtreecommitdiffstats
path: root/tmpfiles.d (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-09-05machine: clarify that /var/lib/containers is legacyLennart Poettering1-1/+1
2015-09-05TODO: update networkd sectionDavid Herrmann1-2/+1
Remove two freshly implemented features, and add TSO support as a new one.
2015-09-05sd-login: minor header commenting improvementsLennart Poettering1-14/+14
2015-09-05sd-login: add new sd_pid_get_cgroup() APILennart Poettering6-8/+102
This adds a new sd_pid_get_cgroup() call to sd-login which may be used to query the control path of a process. This is useful for programs when making use of delegation units, in order to figure out which subtree has been delegated. In light of the unified control group hierarchy this is finally safe to do, hence let's add a proper API for it, to make it easier to use this.
2015-09-05login: fix NULL-deref on wall_messageDavid Herrmann1-4/+6
We treat an empty wall-message equal to a NULL wall-message since: commit 5744f59a3ee883ef3a78214bd5236157acdc35ba Author: Lennart Poettering <lennart@poettering.net> Date: Fri Sep 4 10:34:47 2015 +0200 logind: treat an empty wall message like a NULL one Fix the shutdown scheduler to not deref a NULL pointer, but properly check for an empty wall-message. Fixes: #1120
2015-09-05NEWS: add entries for v226David Herrmann1-0/+61
Initial set of features for the upcoming v226 release next week. This is mostly about the unified cgroup hierarchy and DHCP.
2015-09-04shell-completion: update systemctl bash completionEvgeny Vereshchagin1-2/+20
Many new options have been added since the bash completion was last updated.
2015-09-04networkd: adjust error codes for nonexisting DHCP dataMartin Pitt2-6/+6
Commit 0339cd770 changed libsystemd-network's error code for missing DHCP lease data from ENOENT to ENODATA. Adjust networkd accordingly. This fixes interfaces being stuck in "degraded/configuring" mode forever. https://github.com/systemd/systemd/issues/1147
2015-09-04tests: Skip tests which need to access /sys/fs/cgroup if that is not availableMartin Pitt4-3/+9
Commit efdb023 ("core: unified cgroup hierarchy support") introduced a new error ENOEXEC in cg_unified() if /sys/fs/cgroup/ is not available. Adjust the "skip" checks in various tests accordingly. Add a corresponding "skip" check to test-bus-creds as well, as sd_bus_creds_new_from_pid() now calls cg_unified() as well. This re-fixes "make check" in build chroots without /sys/fs/cgroup. https://github.com/systemd/systemd/issues/1132
2015-09-04hwdb: Add Thinkpad T550 / W550s to 70-pointingstick.hwdbHans de Goede1-0/+2
Like many other recent thinkpads the factory default pointingstick sensitivity on these devices is quite low, making the pointingstick very slow in moving the cursor. This extends the existing hwdb rules for tweaking the sensitivity to also apply to the T550 / W550s models. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1200717
2015-09-04bus-proxy: increase NOFILE limitDavid Herrmann1-0/+5
The bus-proxy manages the kdbus connections of all users on the system (regarding the system bus), hence, it needs an elevated NOFILE. Otherwise, a single user can trigger ENFILE by opening NOFILE connections to the bus-proxy. Note that the bus-proxy still does per-user accounting, indirectly via the proxy/fake API of kdbus. Hence, the effective per-user limit is not raised by this. However, we now prevent one user from consuming the whole FD limit of the shared proxy. Also note that there is no *perfect* way to set this. The proxy is a shared object, so it needs a larger NOFILE limit than the highest limit of all users. This limit can be changed dynamically, though. Hence, we cannot protect against it. However, a raised NOFILE limit is a privilege, so we just treat it as such and basically allow these privileged users to be able to consume more resources than normal users (and, maybe, cause some limits to be exceeded by this). Right now, kdbus hard-codes 1024 max connections per user on each bus. However, we *must not* rely on this. This limits could be easily dropped entirely, as the NOFILE limit is a suitable limit on its on.
2015-09-04logind: when parsing a boolean via sd-bus the type must be "int"Lennart Poettering1-1/+1
And not bool.
2015-09-04logind: treat an empty wall message like a NULL oneLennart Poettering1-8/+11
2015-09-04cgroups: delegation to unprivileged services is safe in the unified hierarchyLennart Poettering1-4/+9
Delegation to unpriviliged processes is safe in the unified hierarchy, hence allow it. This has the benefit of permitting "systemd --user" instances to further partition their resources between user services.
2015-09-04sd-login: rework error handlingLennart Poettering9-101/+323
Makre sure we always return sensible errors for the various, following the same rules, and document them in a comment in sd-login.c. Also, update all relevant man pages accordingly.
2015-09-04sd-event: make sure RT signals are not droppedLennart Poettering2-139/+357
RT signals operate in a queue, and we should be careful to never merge two queued signals into one. Hence, makes sure we only ever dequeue a single signal at a time and leave the remaining ones queued in the signalfd. In order to implement correct priorities for the signals introduce one signalfd per priority, so that we only process the highest priority signal at a time.
2015-09-04test: add one more test case for parse_pid()Lennart Poettering1-0/+3
2015-09-04nspawn: enable all controllers we can for the "payload" subcgroup we createLennart Poettering2-1/+8
In the unified hierarchy delegating controller access is safe, hence make sure to enable all controllers for the "payload" subcgroup if we create it, so that the container will have all controllers enabled the nspawn service itself has.
2015-09-04cgroup: always read the supported controllers from the root cgroup of the ↵Lennart Poettering2-2/+22
local container Otherwise we might end up thinking that we support more controllers than actually enabled for the container we are running in.
2015-09-04cgroup: fix potential access of uninitialized variableLennart Poettering1-1/+1
2015-09-04cgroup-util: make cg_pid_get_path() return -ENODATA when controller can't be ↵Lennart Poettering1-1/+1
found If the controller managed by systemd cannot found in /proc/$PID/cgroup, return ENODATA, the usual error for cases where the data being looked for does not exist, even if the process does.
2015-09-04cgroup: fix potential bad memory accessLennart Poettering1-2/+2
2015-09-04cgroup: make sure cg_is_empty_recursive() returns 1 for non-existing cgroupsLennart Poettering1-0/+2
Previously, on the legacy hierarchy a non-existing cgroup was considered identical to an empty one, but the unified hierarchy the check for a non-existing one returned ENOENT.
2015-09-04cgroup: when comparing agent paths, use path_equal()Lennart Poettering1-1/+1
After all a path is a path is a path and we should use path_equal() to comapre those.
2015-09-04audit: audit calls should return ENODATA when process are not in an audit ↵Lennart Poettering2-5/+12
session ENODATA is how we usually indicate such "missing info" cases, so we should do this here, too.
2015-09-04util: document why parse_uid() returns ENXIOLennart Poettering2-1/+7
parse_uid() returns EINVAL for invalid strings, but ENXIO for the (uid_t) -1 user ids in order to distinguish these two cases. Document this.
2015-09-04core: split up manager_get_unit_by_pid()Lennart Poettering3-9/+20
Let's move the actual cgroup part of it into a new separate function manager_get_unit_by_pid_cgroup(), and then make manager_get_unit_by_pid() just a wrapper that also checks the two pid hashmaps. Then, let's make sure the various calls that want to deliver events to the owners of a PID check both hashmaps and the cgroup and deliver the event to *each* of them. OTOH make sure bus calls like GetUnitByPID() continue to check the PID hashmaps first and the cgroup only as fallback.
2015-09-04cgroup: move controller to dirname translation into join_path_legacy()Lennart Poettering1-16/+13
Let's simplify things a bit.
2015-09-04util: add new uid_is_valid() callLennart Poettering3-7/+23
This simply factors out the uid validation checks from parse_uid() and uses them everywhere. This simply verifies that the passed UID is neither 64bit -1 nor 32bit -1.
2015-09-04macro: introduce new PID_TO_PTR macros and make use of themLennart Poettering6-24/+27
This adds a new PID_TO_PTR() macro, plus PTR_TO_PID() and makes use of it wherever we maintain processes in a hash table. Previously we sometimes used LONG_TO_PTR() and other times ULONG_TO_PTR() for that, hence let's make this more explicit and clean up things.
2015-09-04man: always use the same example in nss module documentationLennart Poettering2-4/+4
Show the same recommended example file in all three man pages, just highlight the different, relevant parts. This should be less confusing for users, and clarify what we actually recommend how /etc/nsswitch.conf is set up.
2015-09-04hwdb: Update database of Bluetooth company identifiersMarcel Holtmann1-0/+33
2015-09-03udev: ignore ENOEXEC from cgroup lookupDavid Herrmann1-1/+1
The recent cgroup-rework changed the error code for un-mounted cgroupfs to ENOEXEC. Make sure udev ignores it just like ENOENT and does not spill warnings on the screen.
2015-09-03cg_get_path: Removed unreachable statementreverendhomer1-4/+1
controller cannot be NULL because if-statement in L509 has return Coverity #1322379
2015-09-03Add Mionix MouseMangix1-0/+9
2015-09-02tree-wide: fix indentationThomas Hindoe Paaboel Andersen2-2/+2
2015-09-02scope: do not compare a bool return with "<= 0"Thomas Hindoe Paaboel Andersen1-1/+1
2015-09-02udev: net_id - support predictable ifnames on virtio busesTom Gundersen1-0/+8
Virtio buses are undeterministically enumerated, so we cannot use them as a basis for deterministic naming (see bf81e792f3c0). However, we are guaranteed that there is only ever one virtio bus for every parent device, so we can simply skip over the virtio buses when naming the devices.
2015-09-02man: *.d conf directories: add note about initrd regenerationJan Synacek1-1/+3
2015-09-02virt: detect parallels virtualizationEvgeny Vereshchagin2-3/+10
inspired by http://people.redhat.com/~rjones/virt-what/ see: * http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in;h=a5ed33ef3e4bfa3281c9589eccac4d92dff1babe;hb=HEAD#l200 * http://git.annexia.org/?p=virt-what.git;a=blob;f=virt-what.in;h=a5ed33ef3e4bfa3281c9589eccac4d92dff1babe;hb=HEAD#l253
2015-09-01core: unified cgroup hierarchy supportLennart Poettering23-593/+1495
This patch set adds full support the new unified cgroup hierarchy logic of modern kernels. A new kernel command line option "systemd.unified_cgroup_hierarchy=1" is added. If specified the unified hierarchy is mounted to /sys/fs/cgroup instead of a tmpfs. No further hierarchies are mounted. The kernel command line option defaults to off. We can turn it on by default as soon as the kernel's APIs regarding this are stabilized (but even then downstream distros might want to turn this off, as this will break any tools that access cgroupfs directly). It is possibly to choose for each boot individually whether the unified or the legacy hierarchy is used. nspawn will by default provide the legacy hierarchy to containers if the host is using it, and the unified otherwise. However it is possible to run containers with the unified hierarchy on a legacy host and vice versa, by setting the $UNIFIED_CGROUP_HIERARCHY environment variable for nspawn to 1 or 0, respectively. The unified hierarchy provides reliable cgroup empty notifications for the first time, via inotify. To make use of this we maintain one manager-wide inotify fd, and each cgroup to it. This patch also removes cg_delete() which is unused now. On kernel 4.2 only the "memory" controller is compatible with the unified hierarchy, hence that's the only controller systemd exposes when booted in unified heirarchy mode. This introduces a new enum for enumerating supported controllers, plus a related enum for the mask bits mapping to it. The core is changed to make use of this everywhere. This moves PID 1 into a new "init.scope" implicit scope unit in the root slice. This is necessary since on the unified hierarchy cgroups may either contain subgroups or processes but not both. PID 1 hence has to move out of the root cgroup (strictly speaking the root cgroup is the only one where processes and subgroups are still allowed, but in order to support containers nicey, we move PID 1 into the new scope in all cases.) This new unit is also used on legacy hierarchy setups. It's actually pretty useful on all systems, as it can then be used to filter journal messages coming from PID 1, and so on. The root slice ("-.slice") is now implicitly created and started (and does not require a unit file on disk anymore), since that's where "init.scope" is located and the slice needs to be started before the scope can. To check whether we are in unified or legacy hierarchy mode we use statfs() on /sys/fs/cgroup. If the .f_type field reports tmpfs we are in legacy mode, if it reports cgroupfs we are in unified mode. This patch set carefuly makes sure that cgls and cgtop continue to work as desired. When invoking nspawn as a service it will implicitly create two subcgroups in the cgroup it is using, one to move the nspawn process into, the other to move the actual container processes into. This is done because of the requirement that cgroups may either contain processes or other subgroups.
2015-09-01hwdb: more miceThomas Hindoe Paaboel Andersen1-0/+8
2015-09-01sd-bus: when connecting to a container, don't fall back to host busLennart Poettering1-6/+17
We should never connect to the host bus as fallback if connecting to a container failed via one method. Otherwise connecting to a dbus1 container will always result in a connection to the host.
2015-09-01sd-bus: when connecting to a kdbus container bus pass error upLennart Poettering1-15/+31
We rely on the correct error used when opening the kdbus device node, hence let's make sure we pass it up from the namespaced child process to the process which actually wants to connect.
2015-09-01machined: introduce a ptsname_namespace() call and make use of itLennart Poettering3-3/+25
The call is like ptsname() but does not assume the pty path was accessible in the local namespace. It uses the same internal ioctl though.
2015-09-01machined: call unlockpt() in container, not hostLennart Poettering3-9/+6
It makes assumptions about the pty path, hence better call it in the container namespace rather than the host.
2015-09-01core: Log parse errors in config_parse_cpu_affinity2Filipe Brandenburger1-1/+4
2015-09-01core: rework when we kill with which signalLennart Poettering1-6/+6
When the user wants to explicitly send our own PID a signal, then do so. Don't follow up SIGABRT with a SIGHUP if send_sighup is enabled. At that point the process should have segfaulted, hence there's no point in following up with a SIGHUP. Send only termination signals to ourselves, never KILL or ABRT signals.
2015-09-01core: don't allow changing the slice of a unit while it is activeLennart Poettering1-0/+3
2015-09-01unit: small clean-upsLennart Poettering1-8/+11
Always say when we ignore errors. Cast calls whose return value we knowingly ingore to (void). Use "bool" where we actually mean a boolean, even if we return it as an int later on.