1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-24 21:34:08 +03:00
Commit Graph

52603 Commits

Author SHA1 Message Date
Frantisek Sumsal
2d50e3c7bc test: yet another fix for ASan detection
This time for ppc64le:

```
100737c4:	5d 55 f9 4b 	bl      10008d20 <00000024.plt_call.__asan_report_load8>
100737f4:	4d 55 f9 4b 	bl      10008d40 <00000024.plt_call.__asan_handle_no_return>
10073884:	5d 50 f9 4b 	bl      100088e0 <00000024.plt_call.__asan_init>
1007388c:	75 54 f9 4b 	bl      10008d00 <00000024.plt_call.__asan_version_mismatch_check_v8>
100738a0:	41 36 f9 4b 	bl      10006ee0 <00000024.plt_call.__asan_register_globals>
100738f0:	71 4c f9 4b 	bl      10008560 <00000024.plt_call.__asan_unregister_globals>
```
2021-08-08 19:33:10 +02:00
Frantisek Sumsal
84817bfdb3 test: attempt to install only kernel modules for each subsystem
When `linux-headers` is installed on Arch Linux, it stores the module
source tree in the kernel module directory, which is then picked up by
`find` and we get a lot of harmless but annoying errors:

```
...
modprobe: FATAL: Module Kconfig.iosched not found in directory /lib/modules/5.13.7-arch1-1
modprobe: FATAL: Module Kconfig not found in directory /lib/modules/5.13.7-arch1-1
modprobe: FATAL: Module Kconfig not found in directory /lib/modules/5.13.7-arch1-1
modprobe: FATAL: Module dm-mpath.h not found in directory /lib/modules/5.13.7-arch1-1
modprobe: FATAL: Module dm-bio-prison-v2.h not found in directory /lib/modules/5.13.7-arch1-1
modprobe: FATAL: Module raid0.h not found in directory /lib/modules/5.13.7-arch1-1
...
```

Let's fix this by trying to install only kernel modules (*.ko files with
an optional compression).
2021-08-08 16:06:41 +01:00
Takashi Sakamoto
9f5c4c80d0 hwdb: ieee1394-unit-function: correct entries for eAR Master One and Terratec Aureon 7.1 FireWire
The configuration ROM of Acoustic Reality eAR Master One, Eroica, Figaro,
and Ciaccona has OUI for TerraTec Electronic GmbH in its vendor ID field.
As a result, modalias for the unit is the same as Terratec Electronic
Aureon 7.1 FireWire.

Linux FireWire subsystem adds the same modalias for units of the models.
ALSA bebob driver had duplicated entries for them and was changed at
Linux kernel v5.14 to remove the duplicated entries.

It's better to improve corresponding entries in systemd hwdb, while
it's impossible to distinguish the models by modalias and force to use
the same entry for them. As last resort, this commit selects more
popular model, Aureon 7.1 FireWire for ID_VENDOR_FROM_DATABASE and
ID_MODEL_FROM_DATABASE.

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a07ebc7e050ccdfec508449b2ef8f2b2aa90927b
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2021-08-08 08:37:46 +09:00
Takashi Sakamoto
15c04125a2 hwdb: ieee1394-unit-function: correct comment for Mackie d.2 and d.2 Pro
I had misunderstanding that BridgeCo ASIC would be used for extension
option for Mackie d.2 and OXFW971 would be used for Mackie d.2 Pro like
Mackie d.4 Pro. However, it's clear that the latter is model with
pre-installed option.

This commit fixes commit to entry for Mackie d.2. I note that the modalias
of unit of Mackie d.4 Pro is still unidentified.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2021-08-08 08:37:46 +09:00
Takashi Sakamoto
1ba328a1e6 hwdb: ieee1394-unit-function: correct comment for Mackie Onyx-i series
Some Mackie Onyx-i models are known to have two revisions at least, which
use different ASICS; Oxford Semiconductor FW971 and TC Applied
Technologies TCD2210. I misunderstand that Onyx 1640i had not such
revisions.

This commit fixes comment to entry for the model.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2021-08-08 08:37:46 +09:00
Takashi Sakamoto
343ff58001 hwdb: ieee1394-unit-function: correct entries for Phonic products
Some of Phonic Firefly series and Helix Board series have the same
combination of vendor ID, model ID, specifier ID, and software
version in their configuration ROM. On the other hand, the other models
have unique combination.

ALSA bebob driver in Linux kernel v5.14 was changed in its modalias table
for the models.

This commit fixes systemd hwdb for the models.

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1586d461f641b60040438275e14c7dbcec5907d6
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2021-08-08 08:37:46 +09:00
Luca Boccassi
e908236e05
Merge pull request #20384 from keszybz/udev-code-modernization
Various minor refactorings (basic/log, udev, cryptsetup-tokens)
2021-08-07 12:06:00 +01:00
Zbigniew Jędrzejewski-Szmek
d340bdd1bd udev/builtins: make skip_subsystem() and skip_virtio() alike
The two functions do not implement identical logic, so they shouldn't
have identical structure, but let's make them both a bit simpler and
more alike.
2021-08-07 09:01:41 +02:00
Zbigniew Jędrzejewski-Szmek
d3d2e3abda udev/builtins: inline iterator variables and other small modernizations 2021-08-07 09:01:40 +02:00
Zbigniew Jędrzejewski-Szmek
8b06c72969 udev-builtin-input_ic: simplify loop in test_key()
We would update 'found' using bit operations, but studiously ignore the actual
value and treat it as boolean. So just use a boolean variable instead. Because
there is a double loop, we would break the inner loop, but repeat the outer
loop, even though the boolean was already set. Add '&& !found' in the loop
conditions to break iteration immediately.
2021-08-07 09:00:55 +02:00
Zbigniew Jędrzejewski-Szmek
169d980bc8 test-log: move logging call where we can still see it
We crank the level up in the loop, so we wouldn't see message
from log_info_errno().

Also move the loop iterator declaration inline.
2021-08-07 08:50:27 +02:00
Zbigniew Jędrzejewski-Szmek
700ea50482 cryptsetup-tokens: inline one interator variable declaration 2021-08-07 08:50:18 +02:00
Zbigniew Jędrzejewski-Szmek
2fec408e67 basic/log: invert loop to avoid repeated evaluation of condition 2021-08-07 08:50:16 +02:00
Zbigniew Jędrzejewski-Szmek
4dc2ecd227 basic/log: use structured initialization, drop unused initialization
We had 'msghdr' and 'mh' in various places. Now 'const struct msghdr msghdr' is
used consistently. With structured init the variable is only used in the call
to sendmsg(), so let's make it a bit more descriptive.
2021-08-07 08:49:11 +02:00
Max Resch
3c79a56d53 sd-boot: time measurements for the ARM64
This adds assembly to read the platform timer from the CP15 coprocessor
register `cntpct_el0` and the frequency from `cntfrq_el0`
2021-08-06 13:40:00 +01:00
Ondrej Kozina
38a0aec61e cryptsetup: validate optional tpm2 pcr bank field in token. 2021-08-06 13:33:50 +01:00
Zbigniew Jędrzejewski-Szmek
2525682565 units: make sure systemd-tmpfiles-{setup,clean} don't survive switch-root
Normally, these services are killed because we run isolate. But I booted into
emergency mode (because of a futher bug with us timing out improperly on the
luks password prompt), and then continuted to the host system by running
'systemctl start systemd-switch-root.service'. My error, but the results are
confusing and bad: systemd in the host sees 'systemd-tmpfiles-setup.service'
as started successfully, and doesn't restart it, so the setup for /tmp/.X11 is
not done and gdm.service fails. So while we wouldn't encounter this during
normal successful boot, I think it's good to make this more robust.

The dep is added to systemd-tmpfiles-{setup,clean}, because /tmp is not
propagated over switch-root. /dev is, so I didn't touch
systemd-tmpfiles-setup-dev.service.
2021-08-06 11:11:14 +01:00
Luca Boccassi
32a2ee2bb4
Merge pull request #20375 from yuwata/network-bridge-vlan-issue-20373
network: fix bridge and openvswitch issues
2021-08-05 11:18:03 +01:00
Yu Watanabe
d7799877a0 sd-dhcp6-client: do not ignore errors in client_receive_advertise()
This also adds several debug log messages.
2021-08-05 11:14:23 +01:00
Luca Boccassi
fa55e7b338
Merge pull request #20381 from yuwata/cgroup-empty-to-root
core: use empty_to_root() for cgroup path in log messages
2021-08-05 10:25:14 +01:00
Yu Watanabe
6178e2f889 core: wrap cgroup path with empty_to_root() in log messages
This fixes e.g. the following log message:
---
systemd[1]: -.slice: Failed to migrate controller cgroups from , ignoring: Read-only file system
---
2021-08-05 03:14:46 +09:00
Yu Watanabe
0cddb53c85 core/cgroup: fix error handling of cg_remove_xattr() 2021-08-05 03:13:48 +09:00
Yu Watanabe
801cf85935
Merge pull request #20377 from yuwata/network-bridge-fdb-20305
network: always append new bridge FDB entries
2021-08-05 02:44:24 +09:00
Zbigniew Jędrzejewski-Szmek
b176d4d377
Merge pull request #19944 from yuwata/network-radv-introduce-uplink-interface
network: introduce UplinkInterface= in [IPv6SendRA]
2021-08-04 19:36:42 +02:00
Yu Watanabe
c347a98272 network: ignore errors on unsetting master ifindex
Fixes #20241.
2021-08-05 00:10:55 +09:00
Yu Watanabe
988b0660aa test-network: add a test case for issue #20373 2021-08-04 23:22:20 +09:00
Yu Watanabe
1171f3f030 network: ignore errors on setting bridge config
For some setups, kernel refuses to set bridge configs with -EOPNOTSUPP.
See kernel's rtnl_bridge_setlink() in net/core/rtnetlink.c.

Fixes #20373.
2021-08-04 23:19:49 +09:00
Yu Watanabe
17d808a8bf network: add comments 2021-08-04 23:03:27 +09:00
Yu Watanabe
4a906586f8 test-network: add a testcase for UplinkInterface= in [IPv6SendRA] 2021-08-04 22:21:00 +09:00
Yu Watanabe
63295b42ae network: introduce UplinkInterface= in [IPv6SendRA] 2021-08-04 22:20:56 +09:00
Yu Watanabe
a254fab20d network: use request queue to configure IPv6 RA engine 2021-08-04 22:19:14 +09:00
Yu Watanabe
2b24292692 network: update comment and man page 2021-08-04 22:19:14 +09:00
Luca Boccassi
57777c9e61
Merge pull request #18567 from Werkov/mkosi-opensuse-v9+
CI for openSUSE Tumbleweed
2021-08-04 11:35:13 +01:00
Yu Watanabe
cca07d910a test-network: add a testcase for vxlan with IPv6 local address 2021-08-04 18:33:23 +09:00
Michal Koutný
3ec4fccb37 ci: Add openSUSE Tumbleweed among tested distros 2021-08-04 11:16:48 +02:00
Michal Koutný
7e5e604393 ci: Detect shell prompt with higher specificity
The current pattern '#' triggers on the openSUSE kernel version that is
printed early during boot when no actual prompt is ready
> [    0.000000] Linux version 5.12.10-1-default (geeko@buildhost) (gcc (SUSE Linux) 11.1.1 20210510 [revision 23855a176609fe8dda6abaf2b21846b4517966eb], GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.36.1.20210326-4) #1 SMP Fri Jun 11 05:05:06 UTC 2021 (b92eaf7)

Instead wait for pattern that: a) should have fewer false positives, b)
still be with working on distro shells:

openSUSE (red color)
^[[1m^[[31mimage:~ #^[[m^O

arch
[root@image ~]#

debian
root@image:~#

ubuntu
root@image:~#

fedora
[root@image ~]#
2021-08-04 11:16:48 +02:00
Michal Koutný
2e9055ab6a ci: Do not require network in test images
The current boot test relies on terminal login, therefore network setup
inside image is unnecessary. This opens up possibility to test images
that don't support the network setup via veth devices.
2021-08-04 11:16:48 +02:00
Michal Koutný
7c87fb219e ci: Bump mkosi version to v10
Use mkosi GH action that includes fixes for openSUSE builds. This
enables testing openSUSE builds in CI.
2021-08-04 11:16:48 +02:00
Yu Watanabe
74c1ab841f sd-netlink: always append new bridge FDB entries
This partially reverts 192a9d95ea (#19432).

Fixes #20305.
2021-08-04 18:16:47 +09:00
Yu Watanabe
10e417b3ea network: use address_equal()/route_equal() to compare addresses or routes configured by NDisc
Fixes #20244.
2021-08-04 09:22:38 +01:00
Luca Boccassi
42a45446bb
Merge pull request #20372 from keszybz/veritysetup-help
Document veritysetup syntax
2021-08-04 00:05:28 +01:00
Luca Boccassi
788733428d
Merge pull request #20368 from keszybz/drop-assert-not-reached-text
Drop the text argument from assert_not_reached()
2021-08-03 21:15:25 +01:00
Luca Boccassi
1c32b76996
Merge pull request #20371 from bluca/coverity
Two small coverity fixes
2021-08-03 21:14:31 +01:00
Zbigniew Jędrzejewski-Szmek
d53285d551 man: describe veritysetup command syntax
It makes it easier to diagnose what the generated units actually do.
2021-08-03 16:02:55 +02:00
Zbigniew Jędrzejewski-Szmek
5d5e43cc33 veritysetup: print help for --help/-h/help
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.
2021-08-03 16:02:54 +02:00
Luca Boccassi
b87dfaa2fa tree-wide: voidify unchecked close_nointr calls
These have ignored the return value forever. Two are public APIs so
we can't really change what they return anyway, and the other one is
a cleanup path and the existing error code is more important.

CID#1461274
CID#1461275
CID#1461276
2021-08-03 15:02:19 +01:00
Luca Boccassi
8954e89195 creds: assert that credential read from file fits in data struct
Coverity CID#1458114
2021-08-03 14:56:28 +01:00
Zbigniew Jędrzejewski-Szmek
9bc0173275 basic/log: use appropriate glyph in log_assert_failed_unreachable()
Per popular demand.
2021-08-03 15:46:21 +02:00
Zbigniew Jędrzejewski-Szmek
04499a70fb Drop the text argument from assert_not_reached()
In general we almost never hit those asserts in production code, so users see
them very rarely, if ever. But either way, we just need something that users
can pass to the developers.

We have quite a few of those asserts, and some have fairly nice messages, but
many are like "WTF?" or "???" or "unexpected something". The error that is
printed includes the file location, and function name. In almost all functions
there's at most one assert, so the function name alone is enough to identify
the failure for a developer. So we don't get much extra from the message, and
we might just as well drop them.

Dropping them makes our code a tiny bit smaller, and most importantly, improves
development experience by making it easy to insert such an assert in the code
without thinking how to phrase the argument.
2021-08-03 10:05:10 +02:00
Yu Watanabe
c7cfde640d
Merge pull request #20346 from poettering/strlen-unsigned-fix
CONST_MAX() integer size fix
2021-08-03 11:03:29 +09:00