| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This fixes e.g. the following log message:
---
systemd[1]: -.slice: Failed to migrate controller cgroups from , ignoring: Read-only file system
---
(cherry picked from commit 6178e2f88956e1900f445908ed053865cc22e879)
(cherry picked from commit 24a40953d3d6ad8b1429d19da2f66399ae3f7e0b)
|
|
|
|
|
| |
(cherry picked from commit 0cddb53c85588fbfb8043f622895c7bd15819198)
(cherry picked from commit 7e79bfce0674c58068d2a125ed666986544e790f)
|
|
|
|
|
|
|
|
|
| |
This partially reverts 192a9d95ea3e058afd824d38a9cea16ad0a84a57 (#19432).
Fixes #20305.
(cherry picked from commit 74c1ab841fbad9d4f237c819577fcd1d46a072b6)
(cherry picked from commit f65dedbb8f3bd8a0ec69a02f63f62f339a791423)
|
|
|
|
|
|
|
|
| |
Since we can build --bootable=no images without dracut->systemd, we need
to add systemd runtime dependencies explicitely.
(cherry picked from commit f2bb8857cd093eb9bd5e1dad6fb996a0a4463556)
(cherry picked from commit e4e572117b41f6e8152a30acc6f60a0385090137)
|
|
|
|
|
|
|
| |
It makes it easier to diagnose what the generated units actually do.
(cherry picked from commit d53285d551d883bb9f097eca0942e8c585e33470)
(cherry picked from commit e820d11a409ba93cf1634031fd363dde5e2b6a94)
|
|
|
|
|
|
|
|
| |
In general our commands print help on --help, but here this would trigger
the error that two arguments are needed. Let's make this more user-friendly.
(cherry picked from commit 5d5e43cc33637a12f743f17294cfbd3ede08a1b3)
(cherry picked from commit 5e5923f272682476c053e5afd705e0f6b4595cbf)
|
|
|
|
|
|
|
| |
* `<sys/poll.h>` is not specified in POSIX
(cherry picked from commit 2b6c0bb2a341c95223ce672249e43c743b03d78c)
(cherry picked from commit fba9fd963bb3b5fafdb123788b3fabe6ed0830c9)
|
|
|
|
|
|
|
| |
* `<sys/fcntl.h>` is not specified in POSIX
(cherry picked from commit f8d54f7810aeea5ff27a5db03e1aab7ea54c8268)
(cherry picked from commit cc94387e674c7db7b15efe56763fe6c87363f73d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
s390x uses BRAS(L) instead of CALL(Q), e.g.:
```
1009528: c0 e5 ff ff f8 a0 brasl %r14,1008668 <__asan_report_load1@plt>
10095f0: c0 e5 ff ff ea ec brasl %r14,1006bc8 <__asan_stack_malloc_4@plt>
10097f8: c0 e5 ff ff f8 f8 brasl %r14,10089e8 <__asan_report_load8@plt>
```
x86_64 for reference:
```
4011f3: e8 48 fe ff ff callq 401040 <__asan_report_load1@plt>
401227: e8 24 fe ff ff callq 401050 <__asan_report_load8@plt>
401251: e8 da fd ff ff callq 401030 <__asan_init@plt>
```
(cherry picked from commit 8bf79f05532162d19fe6ee211297cff81b4f9874)
(cherry picked from commit 02a744940e26a6ecf8778800a4317e9a8a474482)
|
|
|
|
|
|
|
|
|
| |
We call "systemctl set-property … Markers=+needs-restart" and this should
also work for globs, e.g. "user@*.service" or "syncthing@*.service".
https://bugzilla.redhat.com/show_bug.cgi?id=1986258
(cherry picked from commit 23a0ffa59f9cb26c4b016c9fd1a3a70da2607f61)
(cherry picked from commit d334cc62101b8b8ea37d8458f90abc5a6136b315)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The text used "unit's view" to mean mount namespace. But we talk about
mount namespaces in the later part of the paragraph anyway, so trying to
use an "approachable term" only makes the whole thing harder to understand.
Let's use the precise term.
Some paragraph-breaking and re-indentation is done too.
(cherry picked from commit e04eae5e1c43c050e0707d3fcfdc16691b761d61)
(cherry picked from commit dcdfc4d9a77720d0432d0e587e41e96dc8b8542c)
|
|
|
|
|
|
|
|
|
| |
There is some inconsistency, partially caused by the awkward naming
of the docs/ pages. But let's be consistent and use the "official" title.
If we ever change plural↔singular, we should use the same form everywhere.
(cherry picked from commit d6029680df7c4991e37662467668816a83c0b806)
(cherry picked from commit 77681242c8c6d7693814b8245e9096e43faa21be)
|
|
|
|
|
|
|
|
|
|
| |
Fixes #20297.
(cherry picked from commit be0d27ee0c2a2cce39490b8cfc0e7d995fbd7644)
(cherry picked from commit 9eb9b07c404be8d59a800c70593809a69f0d0e55)
[Only the parts that were conflict-free: I think it's nice to fix errors, but
not important enough to devote actual work to it.]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See: https://github.com/systemd/systemd/pull/20191#issuecomment-881982739
In general, we shouldn't blanket move syscalls like this into @default,
given that glibc actually does have fallbacks, afaics. However, as
long as the syscalls are "read-only" and thus benign, I figure it's a
safe thing to do. But we should probably stick to a "if in doubt, don't"
rule, and put these syscalls in @system-service as default, but not into
@default.
I think in the real world @system-service is the sensible group people
should use, and not @default actually.
(cherry picked from commit 7df660e45682af5c40a236abe1bdc5ddcf3b3533)
(cherry picked from commit 898949f71513da918c4aa94a0681fbc6b868e00f)
|
|
|
|
|
|
|
|
|
|
|
| |
It's included in @default now, since
14f4b1b568907350d023d1429c1aa4aaa8925f22, and since @system-service
pulls that in we can drop it from @system-service.
Follow-up for #20191
(cherry picked from commit 67347f37407489a68e12da8f75b78ae1d1168de9)
(cherry picked from commit 24243d8d271c56c2ebe5cb361d8b2ebab7f6ead0)
|
|
|
|
|
|
|
|
|
|
|
| |
This header provides definitions for NET_NAME_UNKNOWN ånd NET_NAME_ENUM
Fixes build issue found with non-glibc systems
../git/src/network/networkd-link.c:1203:52: error: 'NET_NAME_UNKNOWN' undeclared (first use in this function)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 2a0d07d6a0d5be63c6c10cb0789412f584858ec1)
(cherry picked from commit 46ced8149d5d97bf485bd668115915bcb6d47deb)
|
|
|
|
|
| |
(cherry picked from commit d2e84b601805ae89cf8cb1b383b30c7c97cac73d)
(cherry picked from commit 08c99e5600f92c5143b931a507980a2655380cb3)
|
|
|
|
|
|
|
| |
glibc master uses getrandom in malloc since https://sourceware.org/git/?p=glibc.git;a=commit;h=fc859c304898a5ec72e0ba5269ed136ed0ea10e1 , getrandom should be in the default set so to avoid all non trivial programs to fallback to a PRNG.
(cherry picked from commit 14f4b1b568907350d023d1429c1aa4aaa8925f22)
(cherry picked from commit 765c366274db3ff841da237769f2b20a4ec3a045)
|
|
|
|
|
|
| |
Fixes: #18599
(cherry picked from commit feac9a1d1bf3f59adaa85f58b655ec01a111a29a)
(cherry picked from commit 1600b38cd2029533547f8c3d4abfa12911ca0630)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before 81107b8419c39f726fd2805517a5b9faab204e59, the compare functions
for the latest or earliest prioq did not handle ratelimited flag.
So, it was ok to not reshuffle the time prioq when changing the flag.
But now, those two compare functions also compare the source is
ratelimited or not. So, it is necessary to reshuffle the time prioq
after changing the ratelimited flag.
Hopefully fixes #19903.
(cherry picked from commit 2115b9b6629eeba7bc9f42f757f38205febb1cb7)
Hopefully fixes #20285 and
https://bugzilla.redhat.com/show_bug.cgi?id=1984651.
|
|
|
|
|
|
|
| |
But it does nothing for an event source which is neither a timer nor
ratelimited.
(cherry picked from commit 5c08c7ab23dbf02aaf4e4bbae8e08a195da230a4)
|
|
|
|
| |
(cherry picked from commit a595fb5ca9c69c589e758e9ebe3b70ac90450ba3)
|
|
|
|
| |
(cherry picked from commit 7e2bf71ca3638e36ee33215ceee386ba8013da6d)
|
|
|
|
|
| |
(cherry picked from commit 946f7ce32cef44d9bfcf2dc594bb193341434f57)
(cherry picked from commit f869a39bceb35406d3193058d6ab5308c2e28f17)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nss-resolve also looks in /etc/hosts, and has the same local hostname
resolving logic as nss-myhostname. We shouldn't recommend another order
than nss-resolve uses internally.
When nss-resolve is used, there's no possibility to override
nss-myhostname hosts via DNS *anyway*.
On top of that, it's not a good idea to allow DNS to override local
hostnames as all - at least not something we should advertise in the
docs.
Followup of f918c67d38ba6ccd4eb0dc657f3f3155e5010cae /
https://github.com/systemd/systemd/pull/16754.
(cherry picked from commit ce266330fc3bd6767451ac3400336cd9acebe9c1)
(cherry picked from commit 21423efc5852194ba3bf2bbc8067258e35c1558d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we reexec the manager in a container, we lose configuration settings on
the kernel command line:
$ systemd-nspawn -M rawhide -b systemd.status-unit-format=name systemd.show-status=yes
...
# tr '\0' ' ' </proc/1/cmdline
/usr/lib/systemd/systemd systemd.status_unit_format=combined systemd.show-status=yes
# sudo systemctl daemon-reexec
# tr '\0' ' ' </proc/1/cmdline
/usr/lib/systemd/systemd --system --deserialize 20
This means that after daemon-reexec, the settings that we gain from the
commandline are reset to defaults.
So let's reeexecute with the original arguments copied over, modulo some
filtering.
(cherry picked from commit 846f1da465beda990c1c01346311393f485df467)
(cherry picked from commit f3af6ba86c1128ccf6d6f896f70c22f9645a51c5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When two fields were added to the vtable.x.start struct, no initializers
for these were added to SD_BUS_VTABLE_END which also (ab)used that
struct (albeit sneakily by using non-designated initialization).
While C tolerates this, C++ prohibits these missing initializers, and
both g++ and clang++ will complain when using -Wextra.
This patch gives SD_BUS_VTABLE_END its own case in the union and
clarifies its initialization.
I tested the behaviour of g++ 10.2 and clang 11 in various cases. Both will warn
(-Wmissing-field-initializers, implied by -Wextra) if you provide initializers for some
but not all fields of a struct. Declaring x.end as empty struct or using an empty initializer
{} to initialize the union or one of its members is valid C++ but not C, although both gcc
and clang accept it without warning (even at -Wall -Wextra -std=c90/c++11) unless you
use -pedantic (which requires -std=c99/c++2a to support designated initializers).
Interestingly, .x = { .start = { 0, 0, NULL } } is the only initializer I found for the union
(among candidates for SD_BUS_VTABLE_END) where gcc doesn't zero-fill it entirely
when allocated on stack, it looked like it did in all other cases (I only examined this on
32-bit arm). clang always seems to initialize all bytes of the union.
[zjs: test case:
$ cat vtable-test.cc
#include "sd-bus.h"
const sd_bus_vtable vtable[] = {
SD_BUS_VTABLE_END
};
$ g++ -I src/systemd/ -Wall -Wmissing-field-initializers -c vtable-test.cc
vtable-test.cc:5:1: warning: missing initializer for member ‘sd_bus_vtable::<unnamed union>::<unnamed struct>::features’ [-Wmissing-field-initializers]
5 | };
| ^
vtable-test.cc:5:1: warning: missing initializer for member ‘sd_bus_vtable::<unnamed union>::<unnamed struct>::vtable_format_reference’ [-Wmissing-field-initializers]
$ clang++ -I src/systemd/ -Wmissing-field-initializers -c vtable-test.cc
vtable-test.cc:4:4: warning: missing field 'features' initializer [-Wmissing-field-initializers]
SD_BUS_VTABLE_END
^
src/systemd/sd-bus-vtable.h:188:28: note: expanded from macro 'SD_BUS_VTABLE_END'
.x = { { 0 } }, \
^
1 warning generated.
Both warnings are gone with the patch.]
(cherry picked from commit 654eaa403070d3c897454a5190603fda4071c3ff)
(cherry picked from commit cdaf655f73bb3be10d47ab6f00d71a8d0b1a81e3)
|
|
|
|
|
|
|
|
|
|
| |
Prestige And Modern
(cherry picked from commit 30c9faff0d74ceb0cbafb8ecdd8573bc479984dc)
(cherry picked from commit 95c3ad53f3febdaa1f175b85fb8b08ffc2bc96be)
This fixes a regression which was introduced into v248-stable with
976b4254a336a5bda52e7a38df48564d08f4cbff.
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a wrapper around malloc_usable_size() that is supposed to be
compatible with _FORTIFY_SOURCES=1, by taking the
__builtin_object_size() data into account, the same way as the
_FORTIFY_SOURCES=1 logic does.
Fixes: #19203
(cherry picked from commit 6df28e1f847d68ad37ffe3f4ff47745b55233861)
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1975564
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently people use such large key files. Specifically, people used 4M
key files, and we lowered the limit from 4M to 4M-1 back in 248.
This raises the limit to 64M for read_full_file() to avoid these
specific issues and give some non-trivial room beyond the 4M files seen
IRL.
Note that that a 64M allocation in glibc is always immediately done via
mmap(), and is thus a lot slower than shorter allocations. This means
read_virtual_file() becomes ridiculously slow if we'd use the large
limit, since we use it all the time for reading /proc and /sys metadata,
and read_virtual_file() typically allocates the full size with malloc()
in advance. In fact it becomes so slow, that test-process-util kept
timing out on me all the time, once I blindly raised the limit.
This patch hence introduces two distinct limits for read_full_file() and
read_virtual_file(): the former is much larger than the latter and the
latter remains where it is. This is safe since the former uses an
exponentially growing realloc() loop while the latter uses the
aforementioend ahead-of-time full limit allocation.
Fixes: #19193
(cherry picked from commit f6dd48fae807f93e4295c27bff79f4707cc96662)
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1963428
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The path may have unbounded length, for example through a fuse mount.
CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and
ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo
and each mountpoint is passed to mount_setup_unit(), which calls
unit_name_path_escape() underneath. A local attacker who is able to mount a
filesystem with a very long path can crash systemd and the whole system.
https://bugzilla.redhat.com/show_bug.cgi?id=1970887
The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we
can't easily check the length after simplification before doing the
simplification, which in turns uses a copy of the string we can write to.
So we can't reject paths that are too long before doing the duplication.
Hence the most obvious solution is to switch back to strdup(), as before
7410616cd9dbbec97cf98d75324da5cda2b2f7a2.
(cherry picked from commit 441e0115646d54f080e5c3bb0ba477c892861ab9)
(cherry picked from commit 764b74113e36ac5219a4b82a05f311b5a92136ce)
|
|
|
|
|
|
|
| |
Correct resoulution with resolution.
(cherry picked from commit b838bc11268ea461e8c58ce69e2f781be1821aa1)
(cherry picked from commit 5ea3ec8e18a2883c2ea89af9de48fc0fb0e3f283)
|
|
|
|
|
| |
(cherry picked from commit 3f49d1faf59acaa85aa5ad502c39b1a601d58d26)
(cherry picked from commit b511a441f3277750e68a14d8d7e6649c4f182b86)
|
|
|
|
|
|
|
| |
It's already listed along with others (Tunnel, VLAN, etc.) and its description matches those. The duplication was introduced by commit c3006a485c9c35c0ab947479ff1dd7149fda9750.
(cherry picked from commit 534b5abce12847abc896fba24cafb99c101a2987)
(cherry picked from commit d4ce78bfa3d90cc4601d1cbb0b51af32fe8f4b2a)
|
|
|
|
|
| |
(cherry picked from commit 6dc57047ff0f1f9e98938ffb172dae06e6868b94)
(cherry picked from commit e6407ca25852dadec355df2e6fdc92d1f189bceb)
|
|
|
|
|
|
|
| |
Add DeviceAllow= option for FIDO2 devices in systemd-homed.service.
(cherry picked from commit 85e424c0c852fcb92d108494a6efa9dd0ce943b2)
(cherry picked from commit 727a03e4826efe1392b8a1899b220e7df7976990)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #20189. We would only log at debug level and return failure, which looks
like a noop for the user.
('help' accepts multiple arguments and will show multiple concatenated man
pages in that case. Actually, it will also show multiple concatenated man pages
if the Documentation= setting lists multiple pages. I don't think it's very
terribly useful, but, meh, I don't think we can do much better. If a user
requests a help for a two services, one known and one unknown, there'll now be
a line in the output. It's not very user friendly, but not exactly wrong too.)
(cherry picked from commit 75312ada5324d8adae3f3a0ed97f0acfc8b8bde5)
(cherry picked from commit 486412ad3bba4f1306597302cf66cc4858126243)
|
|
|
|
|
|
|
| |
Updated manpage for sd_bus_set_property and sd_bus_set_propertyv. In the old manpage, these functions included the parameter sd_bus_message **reply when the actual function had no such argument.
(cherry picked from commit 4226dfafbac2167e1441a7a65d00c29c5016d4fb)
(cherry picked from commit 70a318d012d5900ad16685038a1e9a30e9a2a41d)
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixed typo
Before, the file claimed that some systemd units are created "from other
configuration". It should have read "from other configuration files".
Co-authored-by: Nozz <nozolo90@gmail.com>
(cherry picked from commit a814eae728a5e238e39d4a9d952ce8e309fa38fd)
(cherry picked from commit 5263490368b3f2c94935300bb5faa09cc04cb4cd)
|
|
|
|
|
|
|
|
| |
Since 23f8e01 we always kept binaries unstripped, since $STRIP_BINARIES
is unset by default.
(cherry picked from commit e68e473ba2d6383155c49337c3c5f2c0d3fb0b5f)
(cherry picked from commit b149c2c64a1093fd509a94d7a25f01b726798098)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes the ldconfig.service might take a bit longer to finish,
causing spurious test timeouts:
```
[ 1025.858923] systemd[24]: ldconfig.service: Executing: /sbin/ldconfig -X
...
[ 1043.883620] systemd[1]: ldconfig.service: Main process exited, code=exited, status=0/SUCCESS (success)
...
Trying to halt container. Send SIGTERM again to trigger immediate
termination.
Container TEST-52-HONORFIRSTSHUTDOWN terminated by signal KILL.
E: Test timed out after 20s
```
(cherry picked from commit 7fb4ee7aa5b6ffdf2e1e8e50a18630aa30f16505)
(cherry picked from commit 610406767b8ddf23a27c919fe52922d35457e0d3)
|
|
|
|
|
|
|
| |
"ESP" is "EFI system partition", so "ESP partition" is redundant.
(cherry picked from commit 250db1bf02b9fd73f2e0604acddbc20937c67d19)
(cherry picked from commit 6822cfa5f066fcbf79ded85419d59a97decc67b9)
|
|
|
|
|
|
| |
This updates various "upstream" hwdb entries. The two new files that
were added in v249, and the associated udev rules, are not included in
this.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although in IEEE 1394 unit function list I have a plan to use slash sign
in name of property, current implementation of parser doesn't allow it.
When parsing current entries in database excluded from parser testing, we
can find usage of slash sign in name of property.
This commit adds slash sign in allow list of the parser for my
convenience.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
(cherry picked from commit 5e939304f513ba57ce6595f36b7da641c62c60db)
|
|
|
|
|
|
|
|
| |
fixes assertion failure on arm:
systemd-hostnamed[642]: Assertion '(_error) != 0' failed at src/hostname/hostnamed.c:207, function fallback_chassis(). Aborting.
(cherry picked from commit 105a4245ff13d588e1e848e8ee3cffd6185bd0ae)
|
|
|
|
|
|
|
| |
We put the "global" README file there. Introduced
in d83e90c73cf25a839f5e60f355baa0d38364ff41.
(cherry picked from commit 378e9d2b6d701a1385c4bf72dfc0697c2c37bd57)
|
|
|
|
|
|
| |
Fixes #20125.
(cherry picked from commit 33f899bd479534b0a920ce427cdf06739028f5ab)
|
|
|
|
|
|
|
|
|
| |
Apparently it's an important feature for some folks:
https://utcc.utoronto.ca/\~cks/space/blog/linux/NetworkdMACMatchesWidely.
I think we considered this more of a bugfix, but it's somewhere on the border.
Let's add this it's easier to discover.
(cherry picked from commit 88b2a95064675c5f86648053cf124265f5289095)
|
|
|
|
|
|
|
|
|
|
|
| |
cb13961ada52c1b27f6d6c2c6e37a2901f01ed30 updated the oomd logic to
collect candidate data when a kill was about to happen. However there
was still a call left over in the main loop to collect candidate data on
every interval. Remove this since it's unneeded.
Fixes #20122
(cherry picked from commit d61ee727f037ab4e07af720ab34055e9cafe9cec)
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that fd_set_perms() is always called after checking that
fd >= 0 (also when called as action() in glob_item_recursively()),
so it seems that the assertion really came from fd==0.
Fixes #20140.
Also three other similar cases are updated.
(cherry picked from commit b4b0f87c6275dde32769c2e75231caa1d4c21f9b)
|