]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agosystemd-analyze: add root to find and verify executable 20079/head
Maanya Goenka [Wed, 4 Aug 2021 19:00:31 +0000 (12:00 -0700)] 
systemd-analyze: add root to find and verify executable

4 years agopath-util: teach find_executable_full how to look into the root directory
Maanya Goenka [Wed, 4 Aug 2021 18:59:45 +0000 (11:59 -0700)] 
path-util: teach find_executable_full how to look into the root directory

When the root parameter in find_executable_full is set, chase_symlinks prefixes this root
to every check of the path name to find the complete path of the execuatble in case the
path provided is not absolute. This is only done for the non NULL root because otherwise
the chase_symlinks function would alter the behavior of some of the callers which would
in turn alter the outputs in a way that is undesirable. The find_execuatble_full function is
invoked by the verify_executable function in analyze-verify.

4 years agosystemd-analyze: support discrete images for 'verify' verb
Maanya Goenka [Wed, 30 Jun 2021 17:02:51 +0000 (10:02 -0700)] 
systemd-analyze: support discrete images for 'verify' verb

Adding --image parameter for verify verb using the dissect image functionality

-----------------------------------------------------------------------------------
Example Run:

I created a unit service file testrun.service with an invalid key-value pairing
(foo = bar) and a squashfs image run.raw to test the code.

maanya-goenka@debian:~/systemd (img-support)$ cat <<EOF>img/usr/lib/systemd/system/testrun.service
> [Unit]
> foo = bar
>
> [Service]
> ExecStart = /opt/script0.sh
> EOF

maanya-goenka@debian:~/systemd (img-support)$ mksquashfs img/ run.raw
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on run.raw, block size 131072.
[==============================================================================================================================|] 6/6 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
        compressed data, compressed metadata, compressed fragments, compressed xattrs
        duplicates are removed
Filesystem size 0.60 Kbytes (0.00 Mbytes)
        52.32% of uncompressed filesystem size (1.14 Kbytes)
Inode table size 166 bytes (0.16 Kbytes)
        43.01% of uncompressed inode table size (386 bytes)
Directory table size 153 bytes (0.15 Kbytes)
        58.40% of uncompressed directory table size (262 bytes)
Number of duplicate files found 1
Number of inodes 12
Number of files 6
Number of fragments 1
Number of symbolic links  0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 6
Number of ids (unique uids + gids) 1
Number of uids 1
        maanya-goenka (1000)
Number of gids 1
        maanya-goenka (1000)
maanya-goenka@debian:~/systemd (img-support)$ sudo build/systemd-analyze verify --image=run.raw testrun.service
/tmp/.#systemd-analyzec71c7297a936b91c/usr/lib/systemd/system/testrun.service:2: Unknown key name 'foo' in section 'Unit', ignoring.
testrun.service: Failed to create testrun.service/start: Unit sysinit.target not found.

The 'Unit sysinit.target not found' error that we see here is due to recursive dependency searching during
unit loading and has been addressed in a different PR:
systemd-analyze: add option to return an error value when unit verification fails #20233

4 years agosystemd-analyze: add --root option for 'verify' verb and allow path parsing
Maanya Goenka [Wed, 30 Jun 2021 16:57:54 +0000 (09:57 -0700)] 
systemd-analyze: add --root option for 'verify' verb and allow path parsing

-------------------------------------------------------------------------------
Example Run:

foobar.service created below is a service unit file that has a non-existing key-value
pairing (foo = bar) and is thus, syntactically invalid.

maanya-goenka@debian:~/systemd (img-support)$ cat <<EOF>img/usr/lib/systemd/system/foobar.service
> [Unit]
> foo = bar
>
> [Service]
> ExecStart = /opt/script0.sh
> EOF

The failure to create foobar.service because of the recursive dependency searching and verification has been addressed
in a different PR: systemd-analyze: add option to return an error value when unit verification fails #20233

maanya-goenka@debian:~/systemd (img-support)$ sudo build/systemd-analyze verify --root=img/ foobar.service
/home/maanya-goenka/systemd/img/usr/lib/systemd/system/foobar.service:2: Unknown key name 'foo' in section 'Unit', ignoring.
foobar.service: Failed to create foobar.service/start: Unit sysinit.target not found.

4 years agosystemd-analyze: validate root argument
Maanya Goenka [Wed, 30 Jun 2021 16:28:19 +0000 (09:28 -0700)] 
systemd-analyze: validate root argument

4 years agounits: added factory-reset.target
Yegor Alexeyev [Sun, 25 Jul 2021 02:20:27 +0000 (05:20 +0300)] 
units: added factory-reset.target

4 years agoresolved: Don't omit AD bit in reply if DO is set in the query
Jack Dähn [Tue, 3 Aug 2021 06:07:05 +0000 (08:07 +0200)] 
resolved: Don't omit AD bit in reply if DO is set in the query

Set the AD bit in the response if the data is authenticated and AD or DO is set in the query, as suggested by section 5.8 of RFC6840.

Fixes #20332

4 years agotest: fix TEST-10-ISSUE-2467
Michael Biebl [Mon, 9 Aug 2021 17:45:48 +0000 (19:45 +0200)] 
test: fix TEST-10-ISSUE-2467

Depending on the timing, socat will either get ECONNREFUSED oder EPIPE
from systemd. The latter will cause it to exit(1) and subsequently the
test to fail.
We are not actually interested in the return code of socat though. The
test is supposed to check, whether rate limiting of a socket unit works
properly.

So ignore any failures from the socat invocation and instead check, if
test10.socket is in state "failed" with result "trigger-limit-hit" after
it has been triggered.

TriggerLimitIntervalSec= by default is set to 2s. A "sleep 10" should
give systemd enough time even on slower machines, to reach the trigger
limit.

For better readability, break the test into separate ExecStart lines.

Fixes #19154.

4 years agoupdate TODO
Lennart Poettering [Tue, 10 Aug 2021 12:35:42 +0000 (14:35 +0200)] 
update TODO

4 years agofstab-generator: put What= before Where=
Zbigniew Jędrzejewski-Szmek [Tue, 10 Aug 2021 06:37:50 +0000 (08:37 +0200)] 
fstab-generator: put What= before Where=

All units in units/ follow this pattern, as do all other generators that we
provide. The question of the order was raised in
https://github.com/systemd/zram-generator/pull/90#discussion_r684965984,
and I think it's nice to make it consistent everywhere
(What= before Where= matches mount(8) and fstab(5)).

4 years agoMerge pull request #19959 from yuwata/udev-reduce-loop
Lennart Poettering [Tue, 10 Aug 2021 11:28:48 +0000 (13:28 +0200)] 
Merge pull request #19959 from yuwata/udev-reduce-loop

udev: reduce number of times checking event dependency

4 years agoMerge pull request #20410 from yuwata/network-ndisc-cleanups
Yu Watanabe [Tue, 10 Aug 2021 10:44:39 +0000 (19:44 +0900)] 
Merge pull request #20410 from yuwata/network-ndisc-cleanups

network: several NDisc cleanups

4 years agoMerge pull request #19939 from yuwata/network-dhcp-client-use-request-queue
Yu Watanabe [Tue, 10 Aug 2021 10:44:14 +0000 (19:44 +0900)] 
Merge pull request #19939 from yuwata/network-dhcp-client-use-request-queue

network: use request queue to configure DHCP clients

4 years agoMerge pull request #19901 from yuwata/network-reconfigure-after-sleep
Yu Watanabe [Tue, 10 Aug 2021 10:43:54 +0000 (19:43 +0900)] 
Merge pull request #19901 from yuwata/network-reconfigure-after-sleep

network: reconfigure interface after coming back from sleep

4 years agoudev: skip event when its dependency cannot be checked 19959/head
Yu Watanabe [Thu, 17 Jun 2021 08:14:10 +0000 (17:14 +0900)] 
udev: skip event when its dependency cannot be checked

4 years agoudev: do not try to find blocker again when no blocker found previously
Yu Watanabe [Thu, 17 Jun 2021 07:57:32 +0000 (16:57 +0900)] 
udev: do not try to find blocker again when no blocker found previously

4 years agolist: introduce LIST_FOREACH_BACKWARDS() macro and drop LIST_FOREACH_AFTER/BEFORE()
Yu Watanabe [Thu, 17 Jun 2021 07:12:06 +0000 (16:12 +0900)] 
list: introduce LIST_FOREACH_BACKWARDS() macro and drop LIST_FOREACH_AFTER/BEFORE()

4 years agoudev: rename is_device_busy() -> event_is_blocked()
Yu Watanabe [Thu, 17 Jun 2021 07:14:01 +0000 (16:14 +0900)] 
udev: rename is_device_busy() -> event_is_blocked()

Also this rename delaying_seqnum -> blocker_seqnum.

4 years agoudev: do not try to process events if there is no free worker
Yu Watanabe [Thu, 17 Jun 2021 06:51:34 +0000 (15:51 +0900)] 
udev: do not try to process events if there is no free worker

4 years agoudev: propagate error on spawning a worker
Yu Watanabe [Thu, 17 Jun 2021 06:47:34 +0000 (15:47 +0900)] 
udev: propagate error on spawning a worker

4 years agoudev: add usec_add() at one more place
Yu Watanabe [Thu, 17 Jun 2021 06:41:20 +0000 (15:41 +0900)] 
udev: add usec_add() at one more place

4 years agoudev: make event_queue_start() return negative errno on error
Yu Watanabe [Thu, 17 Jun 2021 06:29:02 +0000 (15:29 +0900)] 
udev: make event_queue_start() return negative errno on error

4 years agoudev: make event_free() return NULL
Yu Watanabe [Thu, 17 Jun 2021 06:21:27 +0000 (15:21 +0900)] 
udev: make event_free() return NULL

4 years agoudev: update log message to clarify that the error is ignored
Yu Watanabe [Wed, 16 Jun 2021 12:02:01 +0000 (21:02 +0900)] 
udev: update log message to clarify that the error is ignored

4 years agoudev: move several functions
Yu Watanabe [Thu, 17 Jun 2021 06:14:59 +0000 (15:14 +0900)] 
udev: move several functions

No functional chage.

4 years agoudev: also rename struct udev_ctrl -> UdevCtrl
Yu Watanabe [Wed, 16 Jun 2021 10:18:56 +0000 (19:18 +0900)] 
udev: also rename struct udev_ctrl -> UdevCtrl

4 years agoudev: rename type name e.g. struct worker -> Worker
Yu Watanabe [Wed, 16 Jun 2021 10:05:39 +0000 (19:05 +0900)] 
udev: rename type name e.g. struct worker -> Worker

4 years agonetwork: use usec_add() at several more places 20410/head
Yu Watanabe [Wed, 30 Jun 2021 21:42:55 +0000 (06:42 +0900)] 
network: use usec_add() at several more places

4 years agonetwork: make IPv6Token private, and ipv6token_new() static
Yu Watanabe [Wed, 30 Jun 2021 21:37:44 +0000 (06:37 +0900)] 
network: make IPv6Token private, and ipv6token_new() static

4 years agonetwork: ndisc: update a log message
Yu Watanabe [Wed, 30 Jun 2021 19:12:20 +0000 (04:12 +0900)] 
network: ndisc: update a log message

Also slightly rename functions.

4 years agonetwork: adjust log messages 19939/head
Yu Watanabe [Tue, 10 Aug 2021 06:04:01 +0000 (15:04 +0900)] 
network: adjust log messages

Follow-up for #19944.

4 years agonetwork: DHCP[46] -> DHCPv[46] in log messages
Yu Watanabe [Tue, 10 Aug 2021 06:02:35 +0000 (15:02 +0900)] 
network: DHCP[46] -> DHCPv[46] in log messages

4 years agonetwork: use request queue to configure DHCP{4,6} clients
Yu Watanabe [Tue, 15 Jun 2021 14:24:46 +0000 (23:24 +0900)] 
network: use request queue to configure DHCP{4,6} clients

Previously, when UUID is requested for DUID, then the clients are
configured in callback of bus methods.
But now, 'request queue' was implemented, so we can use it to wait until
the product UUID is obtained.

4 years agonetwork: do not request UUID frequently on failure
Yu Watanabe [Tue, 15 Jun 2021 13:20:16 +0000 (22:20 +0900)] 
network: do not request UUID frequently on failure

If many interfaces request UUID, and networkd cannot get it for some
reasons, then previously we call the DBus method so frequently.

4 years agonetwork: downgrade log level in dhcp6_configure()
Yu Watanabe [Tue, 15 Jun 2021 13:16:51 +0000 (22:16 +0900)] 
network: downgrade log level in dhcp6_configure()

And make the callers warn about failures.

4 years agonetwork: downgrade log level in dhcp4_configure()
Yu Watanabe [Tue, 15 Jun 2021 13:07:42 +0000 (22:07 +0900)] 
network: downgrade log level in dhcp4_configure()

And make the callers warn about failures.

4 years agotest-network: add a testcase to enter unmanaged state on reconfiguring 19901/head
Yu Watanabe [Tue, 15 Jun 2021 02:57:40 +0000 (11:57 +0900)] 
test-network: add a testcase to enter unmanaged state on reconfiguring

4 years agonetwork: drop configurations in the previous .network file when entering unmanaged...
Yu Watanabe [Sun, 13 Jun 2021 21:58:06 +0000 (06:58 +0900)] 
network: drop configurations in the previous .network file when entering unmanaged state

When reconfiguring an interface and it will enter unmanaged state,
let's drop configurations from the previously assigned .network file.

4 years agonetwork: do not drop foreign configs for loopback and critical interfaces on carrier...
Yu Watanabe [Sun, 13 Jun 2021 22:13:58 +0000 (07:13 +0900)] 
network: do not drop foreign configs for loopback and critical interfaces on carrier lost

4 years agonetwork: do not drop foreign configs based on the previous .network file
Yu Watanabe [Sun, 13 Jun 2021 22:04:18 +0000 (07:04 +0900)] 
network: do not drop foreign configs based on the previous .network file

`link_drop_foreign_config()` will be called later in link_configure().

4 years agonetwork: start/stop LLDP client on carrier gained/lost
Yu Watanabe [Sat, 12 Jun 2021 03:26:37 +0000 (12:26 +0900)] 
network: start/stop LLDP client on carrier gained/lost

Then, link_acquire_dynamic_conf() matches link_stop_engines().
Previously, LLDP client is started on interface is up, and stopped
on both down and carrier loss.

4 years agonetwork: reconfigure link after coming back from sleep
Yu Watanabe [Sat, 12 Jun 2021 03:01:42 +0000 (12:01 +0900)] 
network: reconfigure link after coming back from sleep

Previously, link was reconfigured with `link_carrier_reset()`, but it
just re-request to configure static addresses, routes, etc, and restart
engines (e.g. DHCP client).
However, after coming back from sleep, several link information may be
changed, especially the wifi access point may be different. So, we may
need to reconfigure the interface.

4 years agoUpdate traditional Chinese Translation
Tianlu Shao [Tue, 10 Aug 2021 05:21:51 +0000 (13:21 +0800)] 
Update traditional Chinese Translation

Fix the wrong translation and fill in the new translation.

4 years agohwdb: Add Lenovo Thinkpad P14s Gen1/2 rule
svonohr [Mon, 9 Aug 2021 16:35:07 +0000 (18:35 +0200)] 
hwdb: Add Lenovo Thinkpad P14s Gen1/2 rule

4 years agotest: use a correct kernel binary on ppc64le machines
Frantisek Sumsal [Mon, 9 Aug 2021 12:32:43 +0000 (14:32 +0200)] 
test: use a correct kernel binary on ppc64le machines

Ubuntu calls the kernel binary as `vmlinux-*`, but RHEL/CentOS uses
the "standard" `vmlinuz-` prefix.

Follow-up to eaa602cb14217f2623c9c8c44b6f3012dc4d0b24.

4 years agotimesync: add option to periodically save time
Dimitry Ishenko [Wed, 7 Jul 2021 17:54:47 +0000 (13:54 -0400)] 
timesync: add option to periodically save time

4 years agopid1: add support for cgroup.kill
Albert Brox [Tue, 20 Jul 2021 22:24:20 +0000 (18:24 -0400)] 
pid1: add support for cgroup.kill

4 years agoFix the "Failed to open random seed ..." message.
longpanda [Thu, 5 Aug 2021 01:31:44 +0000 (09:31 +0800)] 
Fix the "Failed to open random seed ..." message.

When boot ArchLinux from Ventoy, it always print `Failed to open random seed file: write protected.`
As Ventoy emulate the ISO file as a read-only CDROM, I didn't test with a real physical CDROM drive, but maybe it also has such problem.
As we use `EFI_FILE_MODE_WRITE`  to open the `loader\random-seed` file, so I think it's better to check the result with both  `EFI_WRITE_PROTECTED` and `EFI_NOT_FOUND`.

4 years agonetwork: use monotonic instead of boot time to handle address creation/update timestamp
Yu Watanabe [Fri, 6 Aug 2021 10:37:16 +0000 (19:37 +0900)] 
network: use monotonic instead of boot time to handle address creation/update timestamp

Follow-up for 25db3aeaf32ba95bad5e765720ebc23c8ef77a99 and 899034ba8167bd16e802cfbea29a9ee85dee5be5.

Fixes another issue in #20244.

4 years agoUpdate 60-autosuspend-fingerprint-reader.hwdb to libfprint-1.92.1
StefanBruens [Fri, 6 Aug 2021 18:56:58 +0000 (20:56 +0200)] 
Update 60-autosuspend-fingerprint-reader.hwdb to libfprint-1.92.1

4 years agoman systemd-sysusers: fix password to passwd
GnunuX [Fri, 6 Aug 2021 18:05:18 +0000 (20:05 +0200)] 
man systemd-sysusers: fix password to passwd

4 years agoMerge pull request #20395 from takaswie/topic/correct-ieee1394-hwdb-entries
Zbigniew Jędrzejewski-Szmek [Mon, 9 Aug 2021 08:12:11 +0000 (10:12 +0200)] 
Merge pull request #20395 from takaswie/topic/correct-ieee1394-hwdb-entries

hwdb: ieee1394-unit-function: correct entries for some models

4 years agoMerge pull request #20399 from mrc0mmand/test-tweaks
Zbigniew Jędrzejewski-Szmek [Mon, 9 Aug 2021 08:06:23 +0000 (10:06 +0200)] 
Merge pull request #20399 from mrc0mmand/test-tweaks

test: yet another fix for ASan detection

4 years agotest: skip a harmless ldd error when installing test libs
Frantisek Sumsal [Sun, 8 Aug 2021 21:47:31 +0000 (23:47 +0200)] 
test: skip a harmless ldd error when installing test libs

Skip a harmless error when running the tests on a system with a significantly
older systemd version (ldd tries to resolve the unprefixed RPATH for libsystemd.so.0,
which is in this case older than the already installed libsystemd.so.0 in $initdir).
The issue is triggered by installing test dependencies in install_missing_libraries().

Spotted on CentOS 8.

```
$ ldd /var/tmp/systemd-test.nZO11F/root/lib/systemd/tests/test-sd-device-thread
/var/tmp/systemd-test.nZO11F/root/lib/systemd/tests/test-sd-device-thread: /lib64/libsystemd.so.0: version `LIBSYSTEMD_240' not found (required by /var/tmp/systemd-test.nZO11F/root/lib/systemd/tests/test-sd-device-thread)
        linux-vdso64.so.1 (0x00007fffb79d0000)
        libclang_rt.asan-powerpc64le.so => /usr/lib64/clang/11.0.0/lib/linux/libclang_rt.asan-powerpc64le.so (0x00007fffb6ef0000)
        libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fffb6d20000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffb6cd0000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fffb6ab0000)

$ LD_LIBRARY_PATH=/var/tmp/systemd-test.nZO11F/root/lib64/ ldd /var/tmp/systemd-test.nZO11F/root/lib/systemd/tests/test-sd-device-thread
        linux-vdso64.so.1 (0x00007fffaba80000)
        libclang_rt.asan-powerpc64le.so => /usr/lib64/clang/11.0.0/lib/linux/libclang_rt.asan-powerpc64le.so (0x00007fffaafa0000)
        libsystemd.so.0 => /var/tmp/systemd-test.nZO11F/root/lib64/libsystemd.so.0 (0x00007fffaa5f0000)
        libpthread.so.0 => /var/tmp/systemd-test.nZO11F/root/lib64/libpthread.so.0 (0x00007fffaa5a0000)
        libc.so.6 => /var/tmp/systemd-test.nZO11F/root/lib64/libc.so.6 (0x00007fffaa380000)

```

4 years agotest: make busybox TEST-13-only dependency 20399/head
Frantisek Sumsal [Sun, 8 Aug 2021 17:42:25 +0000 (19:42 +0200)] 
test: make busybox TEST-13-only dependency

to make running other tests a bit easier on distributions which don't have
busybox in repositories (CentOS).

4 years agotest: yet another fix for ASan detection
Frantisek Sumsal [Sun, 8 Aug 2021 17:33:10 +0000 (19:33 +0200)] 
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>
```

4 years agotest: attempt to install only kernel modules for each subsystem
Frantisek Sumsal [Sun, 8 Aug 2021 11:18:18 +0000 (13:18 +0200)] 
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).

4 years agohwdb: ieee1394-unit-function: correct entries for eAR Master One and Terratec Aureon... 20395/head
Takashi Sakamoto [Sat, 7 Aug 2021 23:37:46 +0000 (08:37 +0900)] 
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>
4 years agohwdb: ieee1394-unit-function: correct comment for Mackie d.2 and d.2 Pro
Takashi Sakamoto [Sat, 7 Aug 2021 23:37:46 +0000 (08:37 +0900)] 
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>
4 years agohwdb: ieee1394-unit-function: correct comment for Mackie Onyx-i series
Takashi Sakamoto [Sat, 7 Aug 2021 23:37:46 +0000 (08:37 +0900)] 
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>
4 years agohwdb: ieee1394-unit-function: correct entries for Phonic products
Takashi Sakamoto [Sat, 7 Aug 2021 23:37:46 +0000 (08:37 +0900)] 
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>
4 years agoMerge pull request #20384 from keszybz/udev-code-modernization
Luca Boccassi [Sat, 7 Aug 2021 11:06:00 +0000 (12:06 +0100)] 
Merge pull request #20384 from keszybz/udev-code-modernization

Various minor refactorings (basic/log, udev, cryptsetup-tokens)

4 years agoudev/builtins: make skip_subsystem() and skip_virtio() alike 20384/head
Zbigniew Jędrzejewski-Szmek [Tue, 3 Aug 2021 14:49:05 +0000 (16:49 +0200)] 
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.

4 years agoudev/builtins: inline iterator variables and other small modernizations
Zbigniew Jędrzejewski-Szmek [Tue, 3 Aug 2021 14:47:37 +0000 (16:47 +0200)] 
udev/builtins: inline iterator variables and other small modernizations

4 years agoudev-builtin-input_ic: simplify loop in test_key()
Zbigniew Jędrzejewski-Szmek [Mon, 2 Aug 2021 13:44:56 +0000 (15:44 +0200)] 
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.

4 years agotest-log: move logging call where we can still see it
Zbigniew Jędrzejewski-Szmek [Tue, 3 Aug 2021 14:09:52 +0000 (16:09 +0200)] 
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.

4 years agocryptsetup-tokens: inline one interator variable declaration
Zbigniew Jędrzejewski-Szmek [Mon, 26 Jul 2021 12:57:09 +0000 (14:57 +0200)] 
cryptsetup-tokens: inline one interator variable declaration

4 years agobasic/log: invert loop to avoid repeated evaluation of condition
Zbigniew Jędrzejewski-Szmek [Tue, 3 Aug 2021 14:14:51 +0000 (16:14 +0200)] 
basic/log: invert loop to avoid repeated evaluation of condition

4 years agobasic/log: use structured initialization, drop unused initialization
Zbigniew Jędrzejewski-Szmek [Mon, 26 Jul 2021 12:56:34 +0000 (14:56 +0200)] 
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.

4 years agosd-boot: time measurements for the ARM64
Max Resch [Wed, 4 Aug 2021 15:23:27 +0000 (17:23 +0200)] 
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`

4 years agocryptsetup: validate optional tpm2 pcr bank field in token.
Ondrej Kozina [Wed, 4 Aug 2021 09:38:20 +0000 (11:38 +0200)] 
cryptsetup: validate optional tpm2 pcr bank field in token.

4 years agounits: make sure systemd-tmpfiles-{setup,clean} don't survive switch-root
Zbigniew Jędrzejewski-Szmek [Thu, 5 Aug 2021 11:22:58 +0000 (13:22 +0200)] 
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.

4 years agoMerge pull request #20375 from yuwata/network-bridge-vlan-issue-20373
Luca Boccassi [Thu, 5 Aug 2021 10:18:03 +0000 (11:18 +0100)] 
Merge pull request #20375 from yuwata/network-bridge-vlan-issue-20373

network: fix bridge and openvswitch issues

4 years agosd-dhcp6-client: do not ignore errors in client_receive_advertise()
Yu Watanabe [Wed, 4 Aug 2021 13:59:39 +0000 (22:59 +0900)] 
sd-dhcp6-client: do not ignore errors in client_receive_advertise()

This also adds several debug log messages.

4 years agoMerge pull request #20381 from yuwata/cgroup-empty-to-root
Luca Boccassi [Thu, 5 Aug 2021 09:25:14 +0000 (10:25 +0100)] 
Merge pull request #20381 from yuwata/cgroup-empty-to-root

core: use empty_to_root() for cgroup path in log messages

4 years agocore: wrap cgroup path with empty_to_root() in log messages 20381/head
Yu Watanabe [Wed, 4 Aug 2021 18:14:41 +0000 (03:14 +0900)] 
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
---

4 years agocore/cgroup: fix error handling of cg_remove_xattr()
Yu Watanabe [Wed, 4 Aug 2021 18:13:48 +0000 (03:13 +0900)] 
core/cgroup: fix error handling of cg_remove_xattr()

4 years agoMerge pull request #20377 from yuwata/network-bridge-fdb-20305
Yu Watanabe [Wed, 4 Aug 2021 17:44:24 +0000 (02:44 +0900)] 
Merge pull request #20377 from yuwata/network-bridge-fdb-20305

network: always append new bridge FDB entries

4 years agoMerge pull request #19944 from yuwata/network-radv-introduce-uplink-interface
Zbigniew Jędrzejewski-Szmek [Wed, 4 Aug 2021 17:36:42 +0000 (19:36 +0200)] 
Merge pull request #19944 from yuwata/network-radv-introduce-uplink-interface

network: introduce UplinkInterface= in [IPv6SendRA]

4 years agonetwork: ignore errors on unsetting master ifindex 20375/head
Yu Watanabe [Wed, 4 Aug 2021 15:10:52 +0000 (00:10 +0900)] 
network: ignore errors on unsetting master ifindex

Fixes #20241.

4 years agotest-network: add a test case for issue #20373
Yu Watanabe [Wed, 4 Aug 2021 08:23:06 +0000 (17:23 +0900)] 
test-network: add a test case for issue #20373

4 years agonetwork: ignore errors on setting bridge config
Yu Watanabe [Wed, 4 Aug 2021 04:53:21 +0000 (13:53 +0900)] 
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.

4 years agonetwork: add comments
Yu Watanabe [Wed, 4 Aug 2021 04:52:52 +0000 (13:52 +0900)] 
network: add comments

4 years agotest-network: add a testcase for UplinkInterface= in [IPv6SendRA] 19944/head
Yu Watanabe [Tue, 15 Jun 2021 19:50:49 +0000 (04:50 +0900)] 
test-network: add a testcase for UplinkInterface= in [IPv6SendRA]

4 years agonetwork: introduce UplinkInterface= in [IPv6SendRA]
Yu Watanabe [Tue, 15 Jun 2021 18:51:57 +0000 (03:51 +0900)] 
network: introduce UplinkInterface= in [IPv6SendRA]

4 years agonetwork: use request queue to configure IPv6 RA engine
Yu Watanabe [Tue, 15 Jun 2021 18:37:57 +0000 (03:37 +0900)] 
network: use request queue to configure IPv6 RA engine

4 years agonetwork: update comment and man page
Yu Watanabe [Tue, 13 Jul 2021 12:27:51 +0000 (21:27 +0900)] 
network: update comment and man page

4 years agoMerge pull request #18567 from Werkov/mkosi-opensuse-v9+
Luca Boccassi [Wed, 4 Aug 2021 10:35:13 +0000 (11:35 +0100)] 
Merge pull request #18567 from Werkov/mkosi-opensuse-v9+

CI for openSUSE Tumbleweed

4 years agotest-network: add a testcase for vxlan with IPv6 local address 20377/head
Yu Watanabe [Wed, 4 Aug 2021 09:33:23 +0000 (18:33 +0900)] 
test-network: add a testcase for vxlan with IPv6 local address

4 years agoci: Add openSUSE Tumbleweed among tested distros 18567/head
Michal Koutný [Fri, 12 Feb 2021 17:17:01 +0000 (18:17 +0100)] 
ci: Add openSUSE Tumbleweed among tested distros

4 years agoci: Detect shell prompt with higher specificity
Michal Koutný [Mon, 21 Jun 2021 15:18:54 +0000 (17:18 +0200)] 
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 ~]#

4 years agoci: Do not require network in test images
Michal Koutný [Fri, 12 Feb 2021 17:13:59 +0000 (18:13 +0100)] 
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.

4 years agoci: Bump mkosi version to v10
Michal Koutný [Fri, 12 Feb 2021 17:19:06 +0000 (18:19 +0100)] 
ci: Bump mkosi version to v10

Use mkosi GH action that includes fixes for openSUSE builds. This
enables testing openSUSE builds in CI.

4 years agosd-netlink: always append new bridge FDB entries
Yu Watanabe [Wed, 4 Aug 2021 09:16:44 +0000 (18:16 +0900)] 
sd-netlink: always append new bridge FDB entries

This partially reverts 192a9d95ea3e058afd824d38a9cea16ad0a84a57 (#19432).

Fixes #20305.

4 years agonetwork: use address_equal()/route_equal() to compare addresses or routes configured...
Yu Watanabe [Wed, 4 Aug 2021 04:14:03 +0000 (13:14 +0900)] 
network: use address_equal()/route_equal() to compare addresses or routes configured by NDisc

Fixes #20244.

4 years agoMerge pull request #20372 from keszybz/veritysetup-help
Luca Boccassi [Tue, 3 Aug 2021 23:05:28 +0000 (00:05 +0100)] 
Merge pull request #20372 from keszybz/veritysetup-help

Document veritysetup syntax

4 years agoMerge pull request #20368 from keszybz/drop-assert-not-reached-text
Luca Boccassi [Tue, 3 Aug 2021 20:15:25 +0000 (21:15 +0100)] 
Merge pull request #20368 from keszybz/drop-assert-not-reached-text

Drop the text argument from assert_not_reached()

4 years agoMerge pull request #20371 from bluca/coverity
Luca Boccassi [Tue, 3 Aug 2021 20:14:31 +0000 (21:14 +0100)] 
Merge pull request #20371 from bluca/coverity

Two small coverity fixes

4 years agoman: describe veritysetup command syntax 20372/head
Zbigniew Jędrzejewski-Szmek [Sat, 31 Jul 2021 07:16:52 +0000 (09:16 +0200)] 
man: describe veritysetup command syntax

It makes it easier to diagnose what the generated units actually do.

4 years agoveritysetup: print help for --help/-h/help
Zbigniew Jędrzejewski-Szmek [Sat, 31 Jul 2021 07:00:11 +0000 (09:00 +0200)] 
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.