summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-16nspawn: send_one_fd() uses the "return -errno" convention, not errnoLuke Shumaker
2017-06-16nspawn: fix clobbering of selinux context argZbigniew Jędrzejewski-Szmek
First bug fixed by gcc 7. Yikes. (cherry picked from commit 9ce6d1b319f8655100af6ecf5fd57e4558d57dd1)
2017-06-16tree-wide: adjust fall through comments so that gcc is happyZbigniew Jędrzejewski-Szmek
gcc 7 adds -Wimplicit-fallthrough=3 to -Wextra. There are a few ways we could deal with that. After we take into account the need to stay compatible with older versions of the compiler (and other compilers), I don't think adding __attribute__((fallthrough)), even as a macro, is worth the trouble. It sticks out too much, a comment is just as good. But gcc has some very specific requiremnts how the comment should look. Adjust it the specific form that it likes. I don't think the extra stuff we had in those comments was adding much value. (Note: the documentation seems to be wrong, and seems to describe a different pattern from the one that is actually used. I guess either the docs or the code will have to change before gcc 7 is finalized.) (cherry picked from commit ec251fe7d5bc24b5d38b0853bc5969f3a0ba06e2)
2017-06-16sparse: avoid clash with __bitwise and __force from 4.10 linux/types.h (#5061)Lubomir Rintel
It also used __bitwise and __force. It seems easier to rename our versions since they are local to this one single header. Also, undefine them afteerwards, so that we don't pollute the preprocessor macro namespace. (cherry picked from commit dc66f33a16596c2886a24da12e56ec096214e124)
2017-06-16nspawn: add missing -E to getopt_long (#4860)Wim de With
(cherry picked from commit 2e1f244efd2dfc1a60d032bef3d88b9ba6e0444b)
2017-06-16nspawn: fix cgroup mode detectionTejun Heo
cgroup mode detection is broken in two different ways. * detect_unified_cgroup_hierarchy() is called too nested in outer_child(). sync_cgroup() which is used by run() also needs to know the requested cgroup mode but it's currently always getting CGROUP_UNIFIED_UNKNOWN. This makes it skip syncing the inner cgroup hierarchy on some config combinations. $ cat /proc/self/cgroup | grep systemd 1:name=systemd:/user.slice/user-0.slice/session-c1.scope $ UNIFIED_CGROUP_HIERARCHY=0 SYSTEMD_NSPAWN_USE_CGNS=0 systemd-nspawn -M container ... [root@container ~]# cat /proc/self/cgroup | grep systemd 1:name=systemd:/machine.slice/machine-container.x86_64.scope $ exit $ UNIFIED_CGROUP_HIERARCHY=1 SYSTEMD_NSPAWN_USE_CGNS=0 systemd-nspawn -M container [root@container ~]# cat /proc/self/cgroup | grep 0:: 0::/ $ exit Note how the unified hierarchy case's path is not synchronized with the host. This for example can cause issues when there are multiple such containers. Fixed by moving detect_unified_cgroup_hierarchy() invocation to main(). * inner_child() was invoking cg_unified_flush(). inner_child() executes fully scoped and can't determine which cgroup mode the host was in. It doesn't make sense to keep flushing the detected mode when the host mode can't change. Fixed by replacing cg_unified_flush() invocations in outer_child() and inner_child() with one in main(). (cherry picked from commit bd15ab41a1347fed8266845f875842d1502e02a6)
2017-05-06Merge tag 'systemd/v232-8.parabola2' into systemd/parabolaHEADsystemd/parabolaLuke Shumaker
2017-05-06Merge tag 'systemd/v232-6.parabola1'systemd/v232-8.parabola2Luke Shumaker
2017-05-06build-sys: add check for gperf lookup function signature (#5055)Mike Gilbert
gperf-3.1 generates lookup functions that take a size_t length parameter instead of unsigned int. Test for this at configure time. Fixes: https://github.com/systemd/systemd/issues/5039
2016-12-17Merge tag 'systemd/v232-6.parabola1' into systemd/parabolaLuke Shumaker
2016-12-17# Rename "Linux Boot Manager" -> "Systemd Boot Manager"systemd/v232-6.parabola1Luke Shumaker
sed -i 's|Linux Boot Manager|Systemd Boot Manager|' src/boot/bootctl.c
2016-12-17FSDG: man/: Use FSDG operating systems as examples.Luke Shumaker
2016-12-17FSDG: systemd-resolved: Default to hostname "gnu-linux" instead of "linux"Luke Shumaker
2016-12-17FSDG: os-release: Default ID to "gnu-linux" instead of "linux".Luke Shumaker
As far as I can tell, no code in this repository actually uses the ID field, so this is just a man page change.
2016-12-17FSDG: os-release: Default to NAME "GNU/Linux" instead of "Linux".Luke Shumaker
2016-12-17FSDG: os-release: Default to PRETTY_NAME "GNU/Linux" instead of "Linux".Luke Shumaker
2016-12-17FSDG: man/: Refer to the operating system as GNU/Linux.Luke Shumaker
This is not a blind replacement of "Linux" with "GNU/Linux". In some cases, "Linux" is (correctly) used to refer to just the kernel. In others, it is in a string for which code must also be adjusted; these instances are not included in this commit.
2016-12-17Merge tag 'systemd/v232-4'systemd/v232-6Luke Shumaker
2016-12-17nspawn: don't hide --bind=/tmp/* mountsDave Reisner
This is a v232-applicable version of upstream c9fd987279a462e.
2016-12-17build-sys: check for lz4 in the old and new numbering scheme (#4717)Zbigniew Jędrzejewski-Szmek
lz4 upstream decided to switch to an incompatible numbering scheme (1.7.3 follows 131, to match the so version). PKG_CHECK_MODULES does not allow two version matches for the same package, so e.g. lz4 < 10 || lz4 >= 125 cannot be used. Check twice, once for "new" numbers (anything below 10 is assume to be new), once for the "old" numbers (anything above >= 125). This assumes that the "new" versioning will not get to 10 to quickly. I think that's a safe assumption, lz4 is a mature project. Fixed #4690.
2016-12-17journal: make sure to initially populate the space info cache (#4807)Franck Bui
Make sure to populate the cache in cache_space_refresh() at least once otherwise it's possible that the system boots fast enough (and the journal flush service is finished) before the invalidate cache timeout (30 us) has expired. Fixes: #4790
2016-12-17nspawn: fix exit code for --help and --version (#4609)Martin Pitt
Commit b006762 inverted the initial exit code which is relevant for --help and --version without a particular reason. For these special options, parse_argv() returns 0 so that our main() immediately skips to the end without adjusting "ret". Otherwise, if an actual container is being started, ret is set on error in run(), which still provides the "non-zero exit on error" behaviour. Fixes #4605.
2016-12-17Merge tag 'systemd/v232-4.parabola1' into systemd/parabolaLuke Shumaker
2016-12-17# Rename "Linux Boot Manager" -> "Systemd Boot Manager"systemd/v232-4.parabola1Luke Shumaker
sed -i 's|Linux Boot Manager|Systemd Boot Manager|' src/boot/bootctl.c
2016-12-17FSDG: man/: Use FSDG operating systems as examples.Luke Shumaker
2016-12-17FSDG: systemd-resolved: Default to hostname "gnu-linux" instead of "linux"Luke Shumaker
2016-12-17FSDG: os-release: Default ID to "gnu-linux" instead of "linux".Luke Shumaker
As far as I can tell, no code in this repository actually uses the ID field, so this is just a man page change.
2016-12-17FSDG: os-release: Default to NAME "GNU/Linux" instead of "Linux".Luke Shumaker
2016-12-17FSDG: os-release: Default to PRETTY_NAME "GNU/Linux" instead of "Linux".Luke Shumaker
2016-12-17FSDG: man/: Refer to the operating system as GNU/Linux.Luke Shumaker
This is not a blind replacement of "Linux" with "GNU/Linux". In some cases, "Linux" is (correctly) used to refer to just the kernel. In others, it is in a string for which code must also be adjusted; these instances are not included in this commit.
2016-12-17Revert "nspawn: try to bind mount resolved's resolv.conf snippet into the ↵systemd/v232-4Dave Reisner
container" This reverts commit 3539724c26a1b2b00c4eb3c004b635a4b8647de6.
2016-12-17disable RestrictAddressFamilies on i686Dave Reisner
Shit's broke, yo. https://github.com/systemd/systemd/issues/4575
2016-12-17device: Avoid calling unit_free(NULL) in device setup logic (#4748)Dave Reisner
Since a581e45ae8f9bb5c, there's a few function calls to unit_new_for_name which will unit_free on failure. Prior to this commit, a failure would result in calling unit_free with a NULL unit, and hit an assertion failure, seen at least via device_setup_unit: Assertion 'u' failed at src/core/unit.c:519, function unit_free(). Aborting. Fixes #4747 https://bugs.archlinux.org/task/51950
2016-12-17build-sys: do not install ctrl-alt-del.target symlink twiceZbigniew Jędrzejewski-Szmek
It was a harmless but pointless duplication. Fixes #4655. Note: in general we try to install as little as possible in /etc/systemd/{system,user}. We only install .wants links there for units which are "user configurable", i.e. which have an [Install] section. Most our units and aliases are not user configurable, do not have an [Install] section, and must be symlinked statically during installation. A few units do have an [Install] section, and are enabled through symlinks in /etc/ during installation using GENERAL_ALIASES. It *would* be possible to not create those symlinks, and instead require 'systemctl preset' to be invoked after installation, but GENERAL_ALIASES works well enough.
2016-12-17basic/virt: fix userns check on CONFIG_USER_NS=n kernel (#4651)Zbigniew Jędrzejewski-Szmek
ENOENT should be treated as "false", but because of the broken errno check it was treated as an error. So ConditionVirtualization=user-namespaces probably returned the correct answer, but only by accident. Fixes #4608.
2016-12-17core: don't use the unified hierarchy for the systemd cgroup yet (#4628)Martin Pitt
Too many things don't get along with the unified hierarchy yet: * https://github.com/opencontainers/runc/issues/1175 * https://github.com/docker/docker/issues/28109 * https://github.com/lxc/lxc/issues/1280 So revert the default to the legacy hierarchy for now. Developers of the above software can opt into the unified hierarchy with "systemd.legacy_systemd_cgroup_controller=0".
2016-11-03Revert "sd-bus: use PRIu64 instead of casting" (#4556)systemd/v232Zbigniew Jędrzejewski-Szmek
This reverts commit 75ead2b753cb9586f3f208326446081baab70da1. Follow up for #4546: > @@ -848,8 +848,7 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k) { if (k->src_id == KDBUS_SRC_ID_KERNEL) bus_message_set_sender_driver(bus, m); else { - xsprintf(m->sender_buffer, ":1.%llu", - (unsigned long long)k->src_id); + xsprintf(m->sender_buffer, ":1.%"PRIu64, k->src_id); This produces: src/libsystemd/sd-bus/bus-kernel.c: In function ‘bus_kernel_make_message’: src/libsystemd/sd-bus/bus-kernel.c:851:44: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘__u64 {aka long long unsigned int}’ [-Wformat=] xsprintf(m->sender_buffer, ":1.%"PRIu64, k->src_id); ^
2016-11-03hwdb update for 232 (#4557)Lennart Poettering
2016-11-03final NEWS update for 232 (#4558)Lennart Poettering
let's get this out today!
2016-11-03Merge pull request #4543 from ↵Djalal Harouni
endocode/djalal/fix-dynamicuser-supplementary-groups core: intialize user aux groups and SupplementaryGroups= when DynamicUser= is set
2016-11-03test: test DynamicUser= with SupplementaryGroups=Djalal Harouni
2016-11-03test: test DynamicUser= with a fixed userDjalal Harouni
2016-11-03core: intialize user aux groups and SupplementaryGroups= when DynamicUser= ↵Djalal Harouni
is set Make sure that when DynamicUser= is set that we intialize the user supplementary groups and that we also support SupplementaryGroups= Fixes: https://github.com/systemd/systemd/issues/4539 Thanks Evgeny Vereshchagin (@evverx)
2016-11-02Merge pull request #4547 from keszybz/two-testsuite-tweaksLennart Poettering
Two testsuite tweaks
2016-11-02Merge pull request #4546 from keszybz/xsprintf-revertLennart Poettering
xsprintf revert
2016-11-02parse_hwdb: add import fallback for python2Zbigniew Jędrzejewski-Szmek
2016-11-02udev/udev-watch: calculate the real buffer sizes neededZbigniew Jędrzejewski-Szmek
2016-11-02Do not raise in switch root if paths are too longZbigniew Jędrzejewski-Szmek
If we encounter the (unlikely) situation where the combined path to the new root and a path to a mount to be moved together exceed maximum path length, we shouldn't crash, but fail this path instead.
2016-11-02sd-bus: use PRIu64 instead of castingZbigniew Jędrzejewski-Szmek
2016-11-02Revert some uses of xsprintfZbigniew Jędrzejewski-Szmek
This reverts some changes introduced in d054f0a4d4. xsprintf should be used in cases where we calculated the right buffer size by hand (using DECIMAL_STRING_MAX and such), and never in cases where we are printing externally specified strings of arbitrary length. Fixes #4534.