Lennart Poettering [Tue, 27 Jul 2021 15:10:21 +0000 (17:10 +0200)]
seccomp: drop getrandom() from @system-service
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)
Khem Raj [Mon, 26 Jul 2021 17:58:46 +0000 (10:58 -0700)]
networkd: Include linux/netdevice.h header
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)
Frantisek Sumsal [Fri, 23 Jul 2021 10:53:31 +0000 (12:53 +0200)]
test: make sure we don't access an unbound variable
```
testsuite-60.sh[759]: + grep -q '(mount-monitor-dispatch) entered rate limit'
testsuite-60.sh[571]: + sleep 5
testsuite-60.sh[761]: ++ date -u +%s
testsuite-60.sh[571]: + [[
1627037066 -le
1627037061 ]]
testsuite-60.sh[571]: /usr/lib/systemd/tests/testdata/units/testsuite-60.sh: line 41: entered_rl: unbound variable
```
(cherry picked from commit
f571d9d5f051f7dbaee8d0dbf32e5a93180285e9)
ratijas [Fri, 23 Jul 2021 10:32:52 +0000 (13:32 +0300)]
man: Fix incorrect EFI vendor UUID (last missing nibble)
(cherry picked from commit
d2e84b601805ae89cf8cb1b383b30c7c97cac73d)
Luca Boccassi [Thu, 22 Jul 2021 21:21:10 +0000 (22:21 +0100)]
discover-image: mount as read-only when extracting metadata
We don't need to modify the image, and the loopback device is already set to read-only.
(cherry picked from commit
f6f4ec7951f429e8a470f8912cbeacde8fa1206e)
Cristian Rodríguez [Fri, 9 Jul 2021 21:19:05 +0000 (17:19 -0400)]
malloc() uses getrandom now
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)
David Tardon [Mon, 2 Aug 2021 11:31:04 +0000 (13:31 +0200)]
machined-varlink: fix double free
Fixes: #18599
(cherry picked from commit
feac9a1d1bf3f59adaa85f58b655ec01a111a29a)
Sergei Trofimovich [Sat, 31 Jul 2021 12:07:54 +0000 (13:07 +0100)]
coredump/stacktrace.c: avoid crash on binaries without NHDR
Observed as a crash on binaries built with gcc-master:
```
3 0x00005573b8841d6a in parse_package_metadata (name=name@entry=0x5573b901a620 "/a", id_json=0x0,
elf=0x5573b9028730, c=c@entry=0x7fffc688f790) at ../systemd-stable-249.2/src/coredump/stacktrace.c:157
4 0x00005573b884209e in module_callback (mod=0x7fffc688f6c0, userdata=<optimized out>,
name=0x5573b901a620 "/a", start=<optimized out>, arg=0x7fffc688f790)
at ../systemd-stable-249.2/src/coredump/stacktrace.c:306
5 0x00007f56d60dcbd5 in dwfl_getmodules (dwfl=0x5573b901fda0,
callback=callback@entry=0x5573b8841eb0 <module_callback>, arg=arg@entry=0x7fffc688f790, offset=offset@entry=0)
at ../../elfutils-0.185/libdwfl/dwfl_getmodules.c:86
6 0x00005573b884231b in parse_core (ret_package_metadata=0x7fffc688f848, ret=0x7fffc688f850,
executable=0x7fffc688f790 "\200\332\001\271sU", fd=21) at ../systemd-stable-249.2/src/coredump/stacktrace.c:366
7 coredump_parse_core (fd=fd@entry=6, executable=0x7fffc688f790 "\200\332\001\271sU", ret=ret@entry=0x7fffc688f850,
ret_package_metadata=ret_package_metadata@entry=0x7fffc688f848)
at ../systemd-stable-249.2/src/coredump/stacktrace.c:406
8 0x00005573b883f897 in submit_coredump (context=context@entry=0x7fffc688fa10, iovw=iovw@entry=0x7fffc688f990,
input_fd=input_fd@entry=5) at ../systemd-stable-249.2/src/coredump/coredump.c:827
9 0x00005573b883d339 in process_socket (fd=3) at ../systemd-stable-249.2/src/coredump/coredump.c:1041
10 run (argv=<optimized out>, argc=-
964101648) at ../systemd-stable-249.2/src/coredump/coredump.c:1416
11 main (argc=-
964101648, argv=<optimized out>) at ../systemd-stable-249.2/src/coredump/coredump.c:1422
```
Happens only on enabled elfutils symbolizer.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
(cherry picked from commit
1da3eef262078905ec14c707eeab655a17ae8bd2)
Florian Klink [Sat, 17 Jul 2021 17:49:42 +0000 (19:49 +0200)]
man: document nss-{resolve,myhostname} resolving in the other direction, too
(cherry picked from commit
946f7ce32cef44d9bfcf2dc594bb193341434f57)
Florian Klink [Thu, 1 Jul 2021 20:11:27 +0000 (22:11 +0200)]
man: stop recommending putting myhostname after dns
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)
Zbigniew Jędrzejewski-Szmek [Thu, 22 Jul 2021 06:21:46 +0000 (08:21 +0200)]
pid1: propagate the original command line when reexecuting
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)
Matthijs van Duin [Wed, 21 Jul 2021 09:10:36 +0000 (11:10 +0200)]
sd-bus: fix missing initializer in SD_BUS_VTABLE_END (#20253)
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)
Aakash Singh [Mon, 19 Jul 2021 18:57:48 +0000 (00:27 +0530)]
hwdb: 60-keyboard::remove hardcoded definition for KEYBOARD_KEY_56 for MSI Prestige And Modern
(cherry picked from commit
30c9faff0d74ceb0cbafb8ecdd8573bc479984dc)
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jun 2021 09:46:41 +0000 (11:46 +0200)]
basic/unit-name: do not use strdupa() on a path
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)
rene [Tue, 20 Jul 2021 05:45:04 +0000 (15:45 +1000)]
Minor typo (#20254)
Correct resoulution with resolution.
(cherry picked from commit
b838bc11268ea461e8c58ce69e2f781be1821aa1)
duament [Sat, 17 Jul 2021 17:17:41 +0000 (01:17 +0800)]
shell-completion/zsh/_systemd-run: Fix completion of command names and arguments
(cherry picked from commit
3f49d1faf59acaa85aa5ad502c39b1a601d58d26)
Raul Tambre [Wed, 14 Jul 2021 11:58:31 +0000 (14:58 +0300)]
man/systemd.network: Fix duplicate Xfrm description
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)
Zbigniew Jędrzejewski-Szmek [Mon, 5 Jul 2021 19:29:11 +0000 (21:29 +0200)]
shared/format-table: allocate buffer of sufficient size
(cherry picked from commit
6dc57047ff0f1f9e98938ffb172dae06e6868b94)
Gibeom Gwon [Mon, 12 Jul 2021 17:57:43 +0000 (02:57 +0900)]
homed: allow systemd-homed access to FIDO2 devices
Add DeviceAllow= option for FIDO2 devices in systemd-homed.service.
(cherry picked from commit
85e424c0c852fcb92d108494a6efa9dd0ce943b2)
Zbigniew Jędrzejewski-Szmek [Mon, 12 Jul 2021 10:32:39 +0000 (12:32 +0200)]
systemctl: show error when help for unknown unit is requested
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)
Ben Stockett [Fri, 9 Jul 2021 20:29:36 +0000 (20:29 +0000)]
Updated manpage for sd_bus_set_property
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)
nassir90 [Fri, 9 Jul 2021 20:16:02 +0000 (21:16 +0100)]
Fixed typo (#20187)
* 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)
Frantisek Sumsal [Fri, 9 Jul 2021 12:59:11 +0000 (14:59 +0200)]
test: strip binaries by default
Since
23f8e01 we always kept binaries unstripped, since $STRIP_BINARIES
is unset by default.
(cherry picked from commit
e68e473ba2d6383155c49337c3c5f2c0d3fb0b5f)
Frantisek Sumsal [Fri, 9 Jul 2021 12:44:38 +0000 (14:44 +0200)]
test: bump the test timeout to give ldconfig.service enough time to finish
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)
nl6720 [Fri, 9 Jul 2021 09:56:54 +0000 (12:56 +0300)]
docs: improve wording when mentioning the acronym "ESP"
"ESP" is "EFI system partition", so "ESP partition" is redundant.
(cherry picked from commit
250db1bf02b9fd73f2e0604acddbc20937c67d19)
Jan Palus [Wed, 7 Jul 2021 22:23:21 +0000 (00:23 +0200)]
hostnamed: correct variable with errno in fallback_chassis
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)
(cherry picked from commit
4a44597bdd725f504ebd520b0deef7797dc46daa)
Luca Boccassi [Wed, 7 Jul 2021 16:32:01 +0000 (17:32 +0100)]
NEWS: finalize for v249
Lennart Poettering [Wed, 7 Jul 2021 13:57:51 +0000 (15:57 +0200)]
process-util: explicitly handle processes lacking parents in get_process_ppid()
Let's make sure we signal out-of-band via an error message if a process
doesn't have a parent process whose PID we could return. Otherwise we'll
too likely hide errors, as we return an invalid PID 0, which in other
contexts has special meaning (i.e. usually "myself").
Replaces: #20153
This is based on work by @dtardon, but goes a different route, by
ensuring we propagate a proper error in this case.
This modernizes the function in question a bit in other ways, i.e.
renames stuff and makes the return parameter optional.
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jul 2021 13:28:15 +0000 (15:28 +0200)]
Merge pull request #20145 from bluca/prep
Preparations for v249
Lennart Poettering [Wed, 30 Jun 2021 16:45:32 +0000 (18:45 +0200)]
Revert "Add systemd-resolve backwards compatibility section to resolvectl docs"
This reverts commit
9fcfc0470df856c870dcfc6df78bfbc714da6bd2.
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jul 2021 10:39:33 +0000 (12:39 +0200)]
meson: install the right README file in modprobe.d
We put the "global" README file there. Introduced
in
d83e90c73cf25a839f5e60f355baa0d38364ff41.
Zbigniew Jędrzejewski-Szmek [Fri, 2 Jul 2021 08:53:40 +0000 (10:53 +0200)]
basic/time-util: fix errno name
Fixup for
bdaeafea5dff32ccb479ecf8fe0a3173c995fbf5. This was supposed to be
pushed in an updated version, but I forgot to stage the change.
Luca Boccassi [Wed, 7 Jul 2021 09:32:35 +0000 (10:32 +0100)]
man: fix systemd-sleep.conf.xml whitespace
Follow-up for
33f899bd479534b0a920ce427cdf06739028f5ab
Luca Boccassi [Tue, 6 Jul 2021 21:53:49 +0000 (22:53 +0100)]
NEWS: note new user-visible change, drop 'in spe'
Luca Boccassi [Tue, 6 Jul 2021 21:45:02 +0000 (22:45 +0100)]
NEWS: update contributors list
Added Alexey Rubtsov, Icenowy Zheng, milaq, qhill, Trent Piepho,
Hamish Moffatt
Luca Boccassi [Tue, 6 Jul 2021 21:36:04 +0000 (22:36 +0100)]
hwdb: run ninja -C build update-hwdb update-hwdb-autosuspend
Hamish Moffatt [Mon, 5 Jul 2021 09:06:15 +0000 (19:06 +1000)]
Clarify the behaviour of suspend-then-sleep mode in the manual pages.
Fixes #20125.
Yu Watanabe [Tue, 6 Jul 2021 23:42:15 +0000 (08:42 +0900)]
wait-online: fix typo
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jul 2021 07:26:12 +0000 (09:26 +0200)]
NEWS: add old entry about Type=ether
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.
Anita Zhang [Tue, 6 Jul 2021 09:46:13 +0000 (02:46 -0700)]
oomd: don't collect candidate stats on every interval
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
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jul 2021 14:41:28 +0000 (16:41 +0200)]
tmpfiles: fix borked assert
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.
Luca Boccassi [Tue, 6 Jul 2021 11:55:30 +0000 (12:55 +0100)]
man: correct return value of sd_bus_open_with_description
Since https://github.com/systemd/systemd/commit/
f4b2933ee7890e5d414ab266d8586f19027a2bd9
if a description is not set, sd_bus_open_with_description returns -ENXIO, but the
documnetation stated that it returned successfully with a NULL string.
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jul 2021 10:52:53 +0000 (12:52 +0200)]
Merge pull request #20092 from fbuihuu/tag-xgi-z7z9-graphic-chip-as-master-of-seat-take2
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to…
Lennart Poettering [Mon, 5 Jul 2021 13:07:12 +0000 (15:07 +0200)]
update TODO
Franck Bui [Fri, 2 Jul 2021 12:43:50 +0000 (14:43 +0200)]
login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag
This assumes that (vesa)fb driver is used as fallback.
Franck Bui [Thu, 1 Jul 2021 19:34:34 +0000 (21:34 +0200)]
login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag
Graphic devices that don't do DRM and relies on fb devices are now listed in
hwdb. Dedicated udev rules are no more needed.
Franck Bui [Thu, 1 Jul 2021 10:30:29 +0000 (12:30 +0200)]
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set
This graphic chip doesn't have a DRM driver and fall back to vesa-framebuffer
driver.
Without this patch, users of such chip suddenly see their GUI broken without
any indication or reason of what happened (no error message). Hence this
regression is near to impossible to troubleshoot for end users. Such case was
reported https://bugzilla.opensuse.org/show_bug.cgi?id=
1187154.
Rather than adding another exception in the udev rules to deal with such
HWs, they instead get their own hwdb file '60-seat.hwdb'.
Icenowy Zheng [Sun, 4 Jul 2021 09:20:25 +0000 (17:20 +0800)]
hwdb: add resolution override for Pinebook Pro touchpad
The Pinebook Pro touchpad returns a resolution data that is 2 times of
the real value, which makes libinput think the touchpad is only 1/4 the
real size.
Add a resolution override value for it, to allow libinput to calculate
the distance moved on it correctly.
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Yu Watanabe [Sun, 4 Jul 2021 23:10:11 +0000 (08:10 +0900)]
Merge pull request #20098 from milaq/hwdb_logitech_additions
hwdb: Additions and fixes to Logitech mice
Frantisek Sumsal [Sun, 4 Jul 2021 10:21:23 +0000 (12:21 +0200)]
test: unify handling of boolean values
Let's unify handling of the boolean values throughout the test-functions
code, since we use 0/1, true/false, and yes/no almost randomly in many
places, so picking the right values during CI configuration can be a real
pain.
Luca Boccassi [Sat, 3 Jul 2021 15:26:21 +0000 (16:26 +0100)]
TODO: reorder entries by component
Roughly reorder entries, without rewording anything, by component, so
that there's some structure to the text.
Only 3 lines are deleted: an empty line, 'External:' at the bottom since
it was merged with 'External:' at the top, and the weird last line:
'String is not UTF-8 clean, ignoring assignment' which was likely an error
from some editor
Lennart Poettering [Fri, 2 Jul 2021 12:59:58 +0000 (14:59 +0200)]
mkosi: initialize /usr/lib/os-release' IMAGE_ID + IMAGE_VERSION fields from build
If it's passed into the build, use it, so that the mkosi build version
is propagated into the image itself.
Dan Streetman [Fri, 2 Jul 2021 14:38:14 +0000 (10:38 -0400)]
test: optionally, only save test journal for failing tests
Saving the journal for passing tests creates a huge amount of unneeded
data stored for each full test run. Add a env var to allow saving the
journal only for failed tests.
Zbigniew Jędrzejewski-Szmek [Sat, 3 Jul 2021 07:17:29 +0000 (09:17 +0200)]
Merge pull request #20108 from yuwata/network-fix-ndisc-and-dhcp6-issue-20050
network: remove old addresses and routes after new ones are configured
Lennart Poettering [Fri, 2 Jul 2021 13:15:17 +0000 (15:15 +0200)]
hashmap: make sure hashmap_get_strv()+set_get_strv() work with a NULL object
Before we invoke n_entries() we need to check for non-NULL here, like in
all other calls to the helper function. Otherwise we'll crash when
invoked with a NULL object, which we usually consider equivalent to an
empty one though.
qhill [Fri, 2 Jul 2021 13:13:13 +0000 (14:13 +0100)]
units: correct description of final.target
This was updated incorrectly in https://github.com/systemd/systemd/pull/20058/commits/
4fd3fc66396026f81fd5b27746f2faf8a9a7b9ee. As https://github.com/systemd/systemd/blob/main/man/systemd.special.xml decribes, this unit is about shutdown rather than boot.
Lennart Poettering [Fri, 2 Jul 2021 13:35:39 +0000 (15:35 +0200)]
udev: when booting without root= specification, and searching a root partition actually do the version comparison magic
Since
08fe0a53869f27a9bfbc5bd31f27058145d46745 when dissecting a disk
image we'll automatically pick the "newest" root fs if multiple exist,
by comparing GPT partition labels. This works in systemd-nspawn,
systemd-dissect, systemd-tmpfiles --image, … and so on. It also works
already in systemd-gpt-auto-generator. However, there was one missing
place: in the logic that automatically finds a root fs in case no root=
was specified on the kernel logic at all. This logic doesn't use the
dissection logic, but a much simpler one.
Let's fill the gap, and implement it there too.
Lennart Poettering [Fri, 2 Jul 2021 13:30:43 +0000 (15:30 +0200)]
coredumpctl: show --help text if "coredumpctl help" is called
Most of our programs that take "verbs" make the "help" verb either
equivalent to passing the --help switch (or at least print a message
redirecting the user to that switch). Do so in coredumpctl too, in order
to minimize surprises.
Trent Piepho [Thu, 1 Jul 2021 19:19:57 +0000 (12:19 -0700)]
udev: Fix by-uuid symlink for ubifs volumes
ubifs volumes have a UUID and the built-in blkid is able to determine
it. The disk/by-uuid symlink isn't created because ubifs volumes are
not on block devices but on SUBSYSTEM="ubi" devices. See #20071.
Allow ubi subsystem devices to be processed by the persistent storage
rules too. The kernel device name matching already allows ubi* to pass.
The existing rules are sufficient to create the link.
The links look like other by-uuid symlinks, for example:
/dev/disk/by-uuid/
9a136158-585b-4ba4-9b70-
cbaf2cf78a1c -> ../../ubi0_1
Yu Watanabe [Fri, 2 Jul 2021 13:26:04 +0000 (22:26 +0900)]
network: fix overflow issue in address lifetime calculation
Fixes another issue reported in #20050. See
https://github.com/systemd/systemd/issues/20050#issuecomment-
872967337.
Yu Watanabe [Fri, 2 Jul 2021 11:19:17 +0000 (20:19 +0900)]
network: drop old dhcp6 addresses or routes after new ones are configured
Fixes the issue similar to #20050 but for DHCP6.
Yu Watanabe [Fri, 2 Jul 2021 11:15:10 +0000 (20:15 +0900)]
network: drop old ndisc configurations after new ones are configured
Previously, `ndisc_remove_old_one()` checked `ndisc_{addresses,routes}_configured`
flags, but they are not unset when all addresses or routes are already
assigned.
After the request queue is implemented, the address or route requests
are not processed within the same event of ndisc handler is called, but
will processed later when they are ready. So, calling `ndisc_remove_old()`
in the event of ndisc handler will remove all addresses and routes
previously assigned even they are requested to be updated.
This makes `ndisc_remove_old()` do nothing when there exist some
requests to configure addresses and routes, thus previously assigned
addresses and routes are kept until all requests are processed.
Fixes #20050.
Yu Watanabe [Fri, 2 Jul 2021 11:13:32 +0000 (20:13 +0900)]
network: fix log message
Lennart Poettering [Fri, 2 Jul 2021 07:53:16 +0000 (09:53 +0200)]
wait-online: improve timeout log message
The time-out when waiting to reach the online state is a pretty
regularly seen error, let's print an explicit log message for it. The
previous "Event loop failed: timed out" message is a bit too low-level I
think for regular users (as event loops are a developer's concept, not a
user's, really).
Note that outputting low-level error messages is generally actually OK I
think — for unexpected errors, but this timeout is a pretty expected one,
directly configurable by the user, hence output something friendly.
Yu Watanabe [Fri, 2 Jul 2021 11:49:40 +0000 (20:49 +0900)]
parse-socket-bind-item: fix typo in comment
This also adds a blank line after each function declaration to follow our
coding style.
Alexey Rubtsov [Fri, 2 Jul 2021 09:04:21 +0000 (11:04 +0200)]
po: Translated using Weblate (Russian)
Currently translated at 100.0% (189 of 189 strings)
Co-authored-by: Alexey Rubtsov <rushills@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ru/
Translation: systemd/main
Anita Zhang [Fri, 2 Jul 2021 00:07:32 +0000 (17:07 -0700)]
oomd: review follow ups to #20020
Michal Sekletar [Tue, 29 Jun 2021 15:10:27 +0000 (17:10 +0200)]
selinux: support infering SELinux label also from socket not connected to stdin
Fixes #19918
Luca Boccassi [Thu, 1 Jul 2021 17:22:31 +0000 (18:22 +0100)]
TODO: mention the new core scheduling kernel feature
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/hw-vuln/core-scheduling.rst
Lennart Poettering [Thu, 1 Jul 2021 15:15:13 +0000 (17:15 +0200)]
NEWS: update for imminent v249-rc3 tag
Hans de Goede [Thu, 1 Jul 2021 13:28:25 +0000 (15:28 +0200)]
hwdb: Add accel orientation quirk for the Chuwi Hi13 (CWI534) with BMA250 sensor
Recently the kernel has gotten support for reading the mount-matrix for
BMA250 sensors represented by a BOSC0200 ACPI device from the ACPI tables,
so that we don't need to add quirks for these.
At least that was the theory. The Chuwi Hi13 (CWI534) with BMA250 sensor
has the sensor mounted such that it works / needs the normal(ized) matrix,
but the ACPI tables actually contain a wrong matrix inverting the X and Y
axis.
Add a quirk to override /sys/bus/iio/devices/iio:device?/in_mount_matrix
with the norm-matrix, since the ACPI derived matrix is actually wrong on
these devices (sigh)
milaq [Thu, 1 Jul 2021 14:55:04 +0000 (16:55 +0200)]
hwdb: Add Logitech Trackman Marble
As per Logitech specsheet and quick verification via mouse-dpi-tool
milaq [Thu, 1 Jul 2021 14:37:39 +0000 (16:37 +0200)]
hwdb: Use correct default values for Logitech M310
Altough the Logitech website states "1000 DPI", the default DPI
settings seems to be 800 as shown by older versions of Logitech
SetPoint and verification by mouse-dpi-tool.
milaq [Thu, 1 Jul 2021 11:54:44 +0000 (13:54 +0200)]
hwdb: Add Logitech G Pro Wireless
Use the default settings as advertised in the manual and in Logitech G HUB.
milaq [Thu, 1 Jul 2021 11:33:10 +0000 (13:33 +0200)]
hwdb: Add Logitech G700 "Nano" receiver
Although this mouse may be paired with other receivers
this one is the "G-Series Nano Receiver" that originally
shipped with the device.
milaq [Thu, 1 Jul 2021 10:02:26 +0000 (12:02 +0200)]
hwdb: Fix Logitech G700 default DPI settings
The old settings were all over the place contained mixed refresh rates.
The new settings are the correct default DPI settings as advertised online.
This has also been confirmed in the latest Logitech Gaming Software (9.02.65).
milaq [Thu, 1 Jul 2021 09:29:17 +0000 (11:29 +0200)]
hwdb: Fix Logitech G500 default DPI settings
These are the correct default DPI settings as advertised in the manual.
This has also been confirmed in the latest Logitech Gaming Software (9.02.65).
milaq [Thu, 1 Jul 2021 09:24:00 +0000 (11:24 +0200)]
hwdb: Add DPI info for Logitech MX Ergo
Use the "nominal value" as advertised in the spec sheet by Logitech.
This has also been verified with mouse-dpi-tool.
Lennart Poettering [Thu, 1 Jul 2021 13:03:16 +0000 (15:03 +0200)]
Revert "rules: ubi mtd - add link to named partitions"
This reverts commit
7f1e9c806b6915e8020cf3706dc87e1cd37bc2fa, PR #6750
Apparently the rule change never worked, see #20071.
Fixes #20071
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 08:19:06 +0000 (10:19 +0200)]
core: always set output arg in unit_status_string()
As requested in https://github.com/systemd/systemd/pull/20058#pullrequestreview-
696942153.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 13:24:09 +0000 (15:24 +0200)]
Merge pull request #20091 from keszybz/test-time-util-skip-missing-timezone
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 09:06:45 +0000 (11:06 +0200)]
core: add comment explaining event source deallocation
Followup for
bc989831e6. The original reproducer still works w/o the unref,
and doesn't work with this change.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 11:11:36 +0000 (13:11 +0200)]
Merge pull request #20083 from yuwata/network-ipv4acd-follow-ups
network: ipv4acd follow-ups
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 10:17:40 +0000 (10:17 +0000)]
test-time-util: log less verbosely
Output can always be kranked up with LOG_LEVEL=debug. But let's make less
predictable noise by default.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 10:16:56 +0000 (10:16 +0000)]
test-time-util: skip missing timezones
Fixes #20089. This is essentially a packaging bug in CentOS: the
db lists a timezone which is not present in /usr/share/zoneinfo.
Let's skip this gracefully.
milaq [Thu, 1 Jul 2021 09:21:25 +0000 (11:21 +0200)]
hwdb: Add Logitech G403 Hero
Use the default settings as advertised in the manual and in Logitech G HUB.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 10:10:52 +0000 (10:10 +0000)]
time-util: add variant of timezone_is_valid() that returns errno
This will be useful for tests to skip missing time zones.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 09:40:17 +0000 (11:40 +0200)]
NEWS: fix misplaces parenthesis
https://github.com/systemd/systemd/commit/
154b2f6129018f3b731839ba8b52bfa3e9ee6230#commitcomment-
52902617
Lennart Poettering [Thu, 1 Jul 2021 08:38:36 +0000 (10:38 +0200)]
Revert "login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set"
This reverts commit
b25389d2bbc99aee82414d9d76ce1192f4b6fe52.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:41:30 +0000 (09:41 +0200)]
NEWS: update contributor list for v249-rc3
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:40:15 +0000 (09:40 +0200)]
NEWS: add news entry for status-unit-format=combined
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:29:24 +0000 (09:29 +0200)]
Merge pull request #20066 from ddstreet/get-timezones
time: use tzdata.zi instead of zone1970.tab for list of all timezones
Yu Watanabe [Thu, 1 Jul 2021 05:52:05 +0000 (14:52 +0900)]
network: fix segfault in link_update_hardware_address()
This fixes a bug introduced by
fe321d457c118be5d1640b586135a69d1db9270a.
When we want to update a value (in the case of this commit, it is a hardware
address) which is used as a hashmap key, we need to do the following steps:
1. remove the old hashmap entry,
2. update the value,
3. create a new hashmap entry with the new value.
Yu Watanabe [Wed, 30 Jun 2021 21:38:53 +0000 (06:38 +0900)]
network: ipv4acd: update log message
C.f. https://github.com/systemd/systemd/pull/19980#discussion_r661784168
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:04:15 +0000 (09:04 +0200)]
Merge pull request #20080 from bluca/core_flag
analyze: do not attempt to set up cgroups while verifying units
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 06:58:14 +0000 (08:58 +0200)]
Merge pull request #20058 from keszybz/status-format
Implement StatusUnitFormat=combined and prettify Descriptions
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 06:57:23 +0000 (08:57 +0200)]
Merge pull request #20030 from keszybz/exec_fd-event-source
exec_fd event source rework
Lennart Poettering [Mon, 1 Mar 2021 17:02:24 +0000 (18:02 +0100)]
Revert "core: do not set noexec on sysfs/procfs"
This reverts commit
b33cd6b3eec52fc50c6c34d6f07a41cc6254c27f.
Luca Boccassi [Wed, 30 Jun 2021 23:06:10 +0000 (00:06 +0100)]
analyze: use MANAGER_TEST_RUN_MINIMAL instead of MANAGER_TEST_RUN_BASIC
MANAGER_TEST_RUN_MINIMAL allows to skip setting up cgroups, which we don't
really want to do in systemd-analyze. MANAGER_TEST_RUN_BASIC doesn't
actually do anything by itself anyway.
Luca Boccassi [Wed, 30 Jun 2021 23:04:58 +0000 (00:04 +0100)]
core: do not setup/teardown cgroup if MANAGER_TEST_RUN_MINIMAL is set as a flag
Rather than checking if test_run_flags is set exclusively to MANAGER_TEST_RUN_MINIMAL,
check if it is set as a flag, so that it can be used together with other flags.