]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
12 months agocgroup-util: fix memory leak on error
Luca Boccassi [Thu, 21 Nov 2024 00:53:20 +0000 (00:53 +0000)] 
cgroup-util: fix memory leak on error

CID#1565824

Follow-up for f6793bbcf0e3f0a6daa77add96183b88d5ec2117

12 months agonetwork: update state files before replying bus method (#35255)
Luca Boccassi [Wed, 20 Nov 2024 23:36:35 +0000 (23:36 +0000)] 
network: update state files before replying bus method (#35255)

Follow-up for 2b07a3211ba8b1b81d6cebb9650d5cb24554b08a.

Fixes the failure found in
https://autopkgtest.ubuntu.com/results/autopkgtest-noble-upstream-systemd-ci-systemd-ci/noble/amd64/s/systemd-upstream/20241115_182040_92382@/log.gz
. Relevant logs:
```
Nov 16 02:48:36 systemd-networkd[2706]: veth99: Reconfiguring with /run/systemd/network/25-dhcp-client-ipv6-only.network.
Nov 16 02:48:36 systemd-networkd[2706]: veth99: NDISC: Started IPv6 Router Solicitation client
Nov 16 02:48:36 systemd-networkd[2706]: veth99: IPv6 Router Discovery is configured and started.
Nov 16 02:48:36 systemd-networkd[2706]: veth99: NDISC: Sent Router Solicitation, next solicitation in 3s
Nov 16 02:48:36 systemd-networkd[2706]: veth99: NDISC: Received Router Advertisement from fe80::1034:56ff:fe78:9abd: flags=0xc0(managed, other), preference=medium, lifetime=30min
Nov 16 02:48:36 systemd-networkd[2706]: veth99: NDISC: Invoking callback for 'router' event.
Nov 16 02:48:36 systemd-networkd[2706]: veth99: link_check_ready(): dynamic addressing protocols are enabled but none of them finished yet.
Nov 16 02:48:36 systemd-networkd[2706]: veth99: DHCPv6 client: Starting in Solicit mode
Nov 16 02:48:36 systemd-networkd[2706]: veth99: DHCPv6 client: State changed: stopped -> solicitation
Nov 16 02:48:36 systemd-networkd[2706]: veth99: Acquiring DHCPv6 lease on NDisc request
Nov 16 02:48:36 systemd-networkd[2706]: veth99: DHCPv6 client: Sent Solicit
Nov 16 02:48:36 systemd-networkd[2706]: veth99: DHCPv6 client: Next retransmission in 1s
Nov 16 02:48:37 systemd-networkd[2706]: veth99: DHCPv6 client: Sent Solicit
Nov 16 02:48:37 systemd-networkd[2706]: veth99: DHCPv6 client: Next retransmission in 1s
Nov 16 02:48:39 systemd-networkd[2706]: veth99: NDISC: Received Neighbor Advertisement from fe80::1034:56ff:fe78:9abd: Router=yes, Solicited=yes, Override=no
Nov 16 02:48:39 systemd-networkd[2706]: veth99: NDISC: Invoking callback for 'neighbor' event.
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 client: Processed Reply message
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 client: T1 expires in 50s
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 client: T2 expires in 55s
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 client: Valid lifetime expires in 2min
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 client: State changed: solicitation -> bound
Nov 16 02:48:39 systemd-networkd[2706]: veth99: DHCPv6 address 2600::15/128 (valid for 1min 59s, preferred for 1min 59s)
Nov 16 02:48:41 systemd-networkd[2706]: veth99: Received updated DHCPv6 address (configured): 2600::15/128 (valid for 1min 58s, preferred for 1min 58s), flags: no-prefixroute, scope: global
Nov 16 02:48:41 systemd-networkd[2706]: veth99: DHCPv6 addresses and routes set.
Nov 16 02:48:41 systemd-networkd[2706]: veth99: link_check_ready(): IPv4LL:no DHCPv4:no DHCPv6:yes DHCP-PD:no NDisc:no
Nov 16 02:48:41 systemd-networkd[2706]: veth99: State changed: configuring -> configured
```
The interface veth99 entered the configured state after 5 seconds, but
at the same time, the `wait_online()` in the test script considered the
test failed.
The function `wait_online()` first invokes
`systemd-networkd-wait-online` with `--timeout=20`, then check setup
states of interfaces with 5 seconds timeout. So, the failure suggests
that `systemd-networkd-wait-online` finishes immediately, as the state
file was not updated when it is invoked, and thus it handles the
interface veth99 already in the configured state.

12 months agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Wed, 20 Nov 2024 19:13:08 +0000 (20:13 +0100)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

12 months agopo: Translated using Weblate (Finnish)
Jiri Grönroos [Wed, 20 Nov 2024 19:13:07 +0000 (20:13 +0100)] 
po: Translated using Weblate (Finnish)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fi/
Translation: systemd/main

12 months agopo: Translated using Weblate (Ukrainian)
Dmytro Markevych [Wed, 20 Nov 2024 19:13:07 +0000 (20:13 +0100)] 
po: Translated using Weblate (Ukrainian)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Dmytro Markevych <hotr1pak@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/uk/
Translation: systemd/main

12 months agopo: Translated using Weblate (French)
Léane GRASSER [Wed, 20 Nov 2024 19:13:07 +0000 (20:13 +0100)] 
po: Translated using Weblate (French)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main

12 months agotest-network: actually check metric and preference 35255/head
Yu Watanabe [Wed, 20 Nov 2024 18:43:32 +0000 (03:43 +0900)] 
test-network: actually check metric and preference

Otherwise, nexthop ID may contain e.g. 300, then
===
AssertionError: '300' unexpectedly found in
'default nhid 3860882700 via fe80::1034:56ff:fe78:9a99 proto ra metric 512 expires 1798sec pref high\n
 default nhid 2639230080 via fe80::1034:56ff:fe78:9a98 proto ra metric 2048 expires 1798sec pref low'
===

12 months agonetwork: update state files before replying bus method
Yu Watanabe [Wed, 20 Nov 2024 13:30:55 +0000 (22:30 +0900)] 
network: update state files before replying bus method

Follow-up for 2b07a3211ba8b1b81d6cebb9650d5cb24554b08a.

12 months agokillall: gracefully handle processes inserted into containers via nsenter -a
Lennart Poettering [Wed, 20 Nov 2024 11:02:46 +0000 (12:02 +0100)] 
killall: gracefully handle processes inserted into containers via nsenter -a

"nsenter -a" doesn't migrate the specified process into the target
cgroup (it really should). Thus the cgroup will remain in a cgroup
that is (due to cgroup ns) outside our visibility. The kernel will
report the cgroup path of such cgroups as starting with "/../". Detect
that and print a reasonably error message instead of trying to resolve
that.

12 months agoprocess-util: refuse to operate on remote PidRef
Mike Yuan [Wed, 20 Nov 2024 14:11:03 +0000 (15:11 +0100)] 
process-util: refuse to operate on remote PidRef

Follow-up for 7e3e540b88db5546d0c63103619d96b033871b7b

12 months agocryptenroll: fix typo
Antonio Alvarez Feijoo [Wed, 20 Nov 2024 14:39:46 +0000 (15:39 +0100)] 
cryptenroll: fix typo

12 months agotest-audit-util: Migrate to new assertion macros
Daan De Meyer [Wed, 20 Nov 2024 13:44:38 +0000 (14:44 +0100)] 
test-audit-util: Migrate to new assertion macros

12 months agocore/exec-invoke: suppress placeholder home only in build_environment() (#35219)
Yu Watanabe [Wed, 20 Nov 2024 08:34:25 +0000 (17:34 +0900)] 
core/exec-invoke: suppress placeholder home only in build_environment() (#35219)

Alternative to https://github.com/systemd/systemd/pull/34789
Closes #34789

12 months agounits: add initrd directory to list of conditions for systemd-confext
Luca Boccassi [Tue, 19 Nov 2024 23:34:00 +0000 (23:34 +0000)] 
units: add initrd directory to list of conditions for systemd-confext

systemd-sysext has the same check, but it was forgotten for confexts.
Needed to activate confexts from the ESP in the initrd.

12 months agohwdb: add new Cube Mix Plus (i18D) rotation info
Xuanjun Wen [Tue, 19 Nov 2024 17:20:01 +0000 (01:20 +0800)] 
hwdb: add new Cube Mix Plus (i18D) rotation info

Added rotation information for the new version of Cube Mix Plus (i18D).

12 months agosd-varlink: mark sd_varlink_server_{ref,unref} as _public_ (#35241)
Mike Yuan [Tue, 19 Nov 2024 20:21:15 +0000 (21:21 +0100)] 
sd-varlink: mark sd_varlink_server_{ref,unref} as _public_ (#35241)

Co-authored-by: Thorsten Kukuk <kukuk@suse.com>
12 months agouser-record: don't synthesize default list of self-modfiable fields for non-regular...
Lennart Poettering [Tue, 19 Nov 2024 13:32:21 +0000 (14:32 +0100)] 
user-record: don't synthesize default list of self-modfiable fields for non-regular users. (#35133)

A follow-up for a192250eda1e5cc1f8fc799cf9b85d37e7fa0519

/cc @AdrianVovk

12 months agoman/kernel-command-line: fix typo
Antonio Alvarez Feijoo [Tue, 19 Nov 2024 12:36:38 +0000 (13:36 +0100)] 
man/kernel-command-line: fix typo

12 months agonetwork/ndisc: process zero lifetime options at first (#35212)
Luca Boccassi [Tue, 19 Nov 2024 12:42:03 +0000 (12:42 +0000)] 
network/ndisc: process zero lifetime options at first (#35212)

Fixes two issues reported at #33468.

12 months agocryptenroll: show better log message if slot to wipe does not exist
Antonio Alvarez Feijoo [Tue, 19 Nov 2024 10:26:49 +0000 (11:26 +0100)] 
cryptenroll: show better log message if slot to wipe does not exist

```
$ systemd-cryptenroll /dev/vda3
SLOT TYPE
   0 password
$ systemd-cryptenroll --wipe-slot 1 /dev/vda3
Failed to wipe slot 1, continuing: No such file or directory
```

12 months agoupdate TODO
Lennart Poettering [Tue, 19 Nov 2024 10:03:02 +0000 (11:03 +0100)] 
update TODO

12 months agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Tue, 19 Nov 2024 07:38:35 +0000 (08:38 +0100)] 
po: Translated using Weblate (Hebrew)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/he/
Translation: systemd/main

12 months agossh-generator: silence "Binding to socket" messages
Mantas Mikulėnas [Tue, 12 Nov 2024 08:30:09 +0000 (10:30 +0200)] 
ssh-generator: silence "Binding to socket" messages

12 months agouser-record: distinguish explicit and implicit empty modifiable lists case 35133/head
Lennart Poettering [Tue, 12 Nov 2024 15:35:32 +0000 (16:35 +0100)] 
user-record: distinguish explicit and implicit empty modifiable lists case

We now distinguish two cases: where the list of self modifiable fields
is explicitly set to empty, and where the default is empty.

Let's display them differently in the output. When set explicitly to
empty let's mention the admin, otherwise just say "none".

12 months agouser-record: only synthesize default list of self-modifiable fields for *regular...
Lennart Poettering [Tue, 12 Nov 2024 15:37:14 +0000 (16:37 +0100)] 
user-record: only synthesize default list of self-modifiable fields for *regular* users

For system users we should lock things down, hence generate an empty
list.

This is mostly a safety precaution, but also hides really confusing
output of "userdbctl user" for an system user.

Follow-up for: a192250eda1e5cc1f8fc799cf9b85d37e7fa0519

12 months agotest: fix generate-sym-test using the wrong array (#35185)
Zbigniew Jędrzejewski-Szmek [Tue, 19 Nov 2024 09:15:18 +0000 (10:15 +0100)] 
test: fix generate-sym-test using the wrong array (#35185)

For my understanding bsearch is searching in the wrong array. Or, if
it's the right one, then the size is wrong. In another commit I made the
arrays different by mistake and that triggered a SIGSEV during tests.

12 months agovmspawn: enable memory pressure logic for vmspawn
Lennart Poettering [Mon, 18 Nov 2024 11:35:18 +0000 (12:35 +0100)] 
vmspawn: enable memory pressure logic for vmspawn

12 months agosystemctl: grey out tasks limit the same way we grey out the fd store limit in the...
Lennart Poettering [Mon, 18 Nov 2024 22:26:58 +0000 (23:26 +0100)] 
systemctl: grey out tasks limit the same way we grey out the fd store limit in the output

"systemctl status systemd-logind" otherwise looks a bit weird, since the
tasks and the fdstore lines are so close to each other but formatted
quite differently when it comes to coloring.

12 months agostyle: Fix formatting 35185/head
Federico Giovanardi [Tue, 19 Nov 2024 08:55:07 +0000 (09:55 +0100)] 
style: Fix formatting

12 months agocore/exec-invoke: suppress placeholder home only in build_environment() 35219/head
Mike Yuan [Mon, 18 Nov 2024 18:41:07 +0000 (19:41 +0100)] 
core/exec-invoke: suppress placeholder home only in build_environment()

Currently, get_fixed_user() employs USER_CREDS_SUPPRESS_PLACEHOLDER,
meaning home path is set to NULL if it's empty or root. However,
the path is also used for applying WorkingDirectory=~, and we'd
spuriously use the invoking user's home as fallback even if
User= is changed in that case.

Let's instead delegate such suppression to build_environment(),
so that home is proper initialized for usage at other steps.
shell doesn't actually suffer from such problem, but it's changed
too for consistency.

Alternative to #34789

12 months agocore/exec-invoke: minor cleanup for apply_working_directory() error handling
Mike Yuan [Mon, 18 Nov 2024 23:22:59 +0000 (00:22 +0100)] 
core/exec-invoke: minor cleanup for apply_working_directory() error handling

Assign exit_status at the same site where error log is emitted,
for readability.

12 months agobasic/user-util: split out placeholder suppression from USER_CREDS_CLEAN into its...
Mike Yuan [Mon, 18 Nov 2024 18:30:02 +0000 (19:30 +0100)] 
basic/user-util: split out placeholder suppression from USER_CREDS_CLEAN into its own flag

No functional change, preparation for later commits.

12 months agobasic/user-util: introduce shell_is_placeholder() helper
Mike Yuan [Mon, 18 Nov 2024 18:24:57 +0000 (19:24 +0100)] 
basic/user-util: introduce shell_is_placeholder() helper

12 months agomkosi: Enable clangd execution for all distributions
Daan De Meyer [Mon, 18 Nov 2024 19:19:22 +0000 (20:19 +0100)] 
mkosi: Enable clangd execution for all distributions

12 months agoupdate TODO
Lennart Poettering [Mon, 18 Nov 2024 10:25:07 +0000 (11:25 +0100)] 
update TODO

12 months agotest-network: add test case for IPv6 Core Conformance test v6LC.2.2.23 35212/head
Yu Watanabe [Mon, 18 Nov 2024 19:32:50 +0000 (04:32 +0900)] 
test-network: add test case for IPv6 Core Conformance test v6LC.2.2.23

12 months agotest-network: split out check_router_preference() from test_router_preference()
Yu Watanabe [Mon, 18 Nov 2024 19:31:37 +0000 (04:31 +0900)] 
test-network: split out check_router_preference() from test_router_preference()

This also drop high2.network and low2.network, and edit high.network and
low.network during the test.

12 months agonetwork/ndisc: first process options with zero lifetime
Yu Watanabe [Mon, 18 Nov 2024 05:09:49 +0000 (14:09 +0900)] 
network/ndisc: first process options with zero lifetime

Fixes IPv6 Core Conformance test failures reported at #33468.
https://www.ipv6ready.org/docs/Core_Conformance.pdf
Test v6LC.2.2.23 h and j: Processing Router Advertisement with Route
Information Option (Host Only)

When a RA contains route option with ::/0 prefix, then previously that
may contradict with the default route requested with the RA header.
If the route option has zero lifetime, the existing default route should
be removed, and a new route based on the RA header should be configured.
If the route option has non-zero lifetime, the RA header should be
ignored.

So, we first need to process options with zero lifetime (not only
route option, as the similar reasons), then configure the default route
based on the RA, finally process options with non-zero lifetime.

12 months agonetwork/ndisc: sd_ndisc_router_route_get_preference() does not return -EOPNOTSUPP...
Yu Watanabe [Mon, 18 Nov 2024 04:32:51 +0000 (13:32 +0900)] 
network/ndisc: sd_ndisc_router_route_get_preference() does not return -EOPNOTSUPP anymore

12 months agondisc-option: use memcpy_safe() at one more place
Yu Watanabe [Mon, 18 Nov 2024 04:28:27 +0000 (13:28 +0900)] 
ndisc-option: use memcpy_safe() at one more place

As 'len' may be 8.

Follow-up for a163404cc88914142ef8bbfaab0eb39d1a990c02.

12 months agoukify: fix parsing of SignTool configuration option
Zbigniew Jędrzejewski-Szmek [Mon, 18 Nov 2024 12:35:38 +0000 (13:35 +0100)] 
ukify: fix parsing of SignTool configuration option

This partially reverts 02eabaffe98c9a3b5dec1c4837968a4d3e2ff7db.
As noted in https://github.com/systemd/systemd/pull/35211:
> The configuration parsing simply stores the string as-is, rather than
> creating the appropriate object

One way to fix the issue would be to store the "appropriate object", i.e.
actually the class. But that makes the code very verbose, with the conversion
being done in two places. And that still doesn't fix the issue, because we need
to map the class objects back to the original name in error messages.

So instead, store the setting as a string and only map it to the class much
later. This makes the code simpler and fixes the error messages too.

Resolves https://github.com/systemd/systemd/pull/35193

12 months agoman: fix copy-and-paste error
Yu Watanabe [Mon, 18 Nov 2024 06:18:23 +0000 (15:18 +0900)] 
man: fix copy-and-paste error

Follow-up for 85a1360ecffd8929151e09279ea62dedea364dfa.

12 months agoman: add several future version info tags
Yu Watanabe [Mon, 18 Nov 2024 06:04:17 +0000 (15:04 +0900)] 
man: add several future version info tags

12 months agopo: update Japanese translations
Yu Watanabe [Mon, 18 Nov 2024 04:01:34 +0000 (13:01 +0900)] 
po: update Japanese translations

12 months agonetwork/netdev: fix typo
Yu Watanabe [Mon, 18 Nov 2024 03:53:18 +0000 (12:53 +0900)] 
network/netdev: fix typo

Follow-up for 09db4106064dd600c64d12a4e06bd88143b2e4f7.

12 months agonspawn: Include arm_fadvise64_64 in syscall allow_list
Michał Górny [Sun, 17 Nov 2024 15:34:35 +0000 (16:34 +0100)] 
nspawn: Include arm_fadvise64_64 in syscall allow_list

Add the `arm_fadvise64_64` syscall to the allow_list, in addition
to the existing `fadvise64` and `fadvise64_64` syscalls, as this is
the syscall actually defined for `arm` architecture.  Adding it fixes
the syscall being rejected in arm32 containers.

Fixes #35194

12 months agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Sun, 17 Nov 2024 15:48:20 +0000 (16:48 +0100)] 
po: Translated using Weblate (Hebrew)

Currently translated at 89.1% (229 of 257 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/he/
Translation: systemd/main

12 months agopo: Translated using Weblate (German)
Weblate Translation Memory [Sun, 17 Nov 2024 15:48:20 +0000 (16:48 +0100)] 
po: Translated using Weblate (German)

Currently translated at 95.7% (246 of 257 strings)

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/de/
Translation: systemd/main

12 months agopo: Translated using Weblate (German)
Ettore Atalan [Sun, 17 Nov 2024 15:48:20 +0000 (16:48 +0100)] 
po: Translated using Weblate (German)

Currently translated at 95.7% (246 of 257 strings)

Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/de/
Translation: systemd/main

12 months agopo: Translated using Weblate (Russian)
Sergey A [Sun, 17 Nov 2024 13:38:37 +0000 (14:38 +0100)] 
po: Translated using Weblate (Russian)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Sergey A <Ser82-png@yandex.ru>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ru/
Translation: systemd/main

12 months agomkosi: Update packaging specs (#35196)
Luca Boccassi [Sun, 17 Nov 2024 15:49:24 +0000 (15:49 +0000)] 
mkosi: Update packaging specs (#35196)

12 months agomkosi: update debian commit reference 35196/head
Daan De Meyer [Sun, 17 Nov 2024 12:00:59 +0000 (13:00 +0100)] 
mkosi: update debian commit reference

51cd22f368 Update changelog for 257~rc2-3 release
5308c3b905 Backport patch to remove faulty unit test assertion
b7d805151b Update changelog for 257~rc2-2 release
5afc23b288 Backport patch to fix FTBFS due to failing unit test
0ca89ce40c Update changelog for 257~rc2-1 release
f27216d493 Update lintian override to ignore false positive typos
2caa74f473 d/rules: adjust blhc override to account for source files being moved
6b48328ead systemd-ukify: recommend systemd-repart
5e01b67f43 systemd-ukify: downgrade dependency on systemd, not mandatory
3a4dd59e41 Install new systemd-keyutil binary in the systemd-repart package
e64cffab71 Drop all patches, merged upstream
0fcef228c7 Update upstream source from tag 'upstream/257_rc2'
a01322bb29 d/t/control: add more packages to dummy hint-testsuite-triggers

12 months agomkosi: update fedora commit reference
Daan De Meyer [Sun, 17 Nov 2024 12:00:57 +0000 (13:00 +0100)] 
mkosi: update fedora commit reference

7bd1d09f7f Change sysusers u! lines to u because we don't have support in rpm
943bd94cf6 Version 257~rc2
6162965002 Disable freezing of user sessions
0c236cedb9 Upload sources
ea947ce068 Version 257~rc1
834ba50e79 Use %posttrans instead of %postun to restart services
8dafa3810b Disable OpenSSL v3 ENGINE on RHEL
8f44e8097d Add forgotten patch
86ca699d18 Backport user manager reexec changes
009c64d6a2 Use %systemd_preun in systemd-resolved

12 months agomkosi: update arch commit reference
Daan De Meyer [Sun, 17 Nov 2024 12:00:55 +0000 (13:00 +0100)] 
mkosi: update arch commit reference

29a73017cd upgpkg: 256.8-1: new upstream release
cda4f7b35e add a hint on my personal testing repository

12 months agomeson: update version v257-rc2
Luca Boccassi [Fri, 15 Nov 2024 19:16:58 +0000 (19:16 +0000)] 
meson: update version

12 months agoNEWS: update date
Luca Boccassi [Fri, 15 Nov 2024 19:16:47 +0000 (19:16 +0000)] 
NEWS: update date

12 months agoukify: Use new .hwids PE section format
anonymix007 [Fri, 15 Nov 2024 12:48:24 +0000 (15:48 +0300)] 
ukify: Use new .hwids PE section format

12 months agobootctl: Only create loader/keys/auto if required
Daan De Meyer [Fri, 15 Nov 2024 15:40:57 +0000 (16:40 +0100)] 
bootctl: Only create loader/keys/auto if required

systemd-boot uses the existance of loader/keys/auto to determine
whether to auto-enroll secure boot or not so only create the directory
if we're actually going to put auto-enroll signature lists in it.

12 months agoChores for rc2 (#35186)
Zbigniew Jędrzejewski-Szmek [Fri, 15 Nov 2024 17:56:54 +0000 (18:56 +0100)] 
Chores for rc2 (#35186)

12 months agoNEWS: update contributors list 35186/head
Luca Boccassi [Fri, 15 Nov 2024 17:26:07 +0000 (17:26 +0000)] 
NEWS: update contributors list

12 months agoNEWS: systemd-keyutil, --certificate-source, --certificate-provider
Luca Boccassi [Fri, 15 Nov 2024 17:25:29 +0000 (17:25 +0000)] 
NEWS: systemd-keyutil, --certificate-source, --certificate-provider

12 months agoUpdate hwdb
Luca Boccassi [Fri, 15 Nov 2024 17:17:47 +0000 (17:17 +0000)] 
Update hwdb

ninja -C build update-hwdb

12 months agotest: fix generate-sym-test using the wrong array
Federico Giovanardi [Fri, 15 Nov 2024 15:55:24 +0000 (16:55 +0100)] 
test: fix generate-sym-test using the wrong array

The second check was searching the symbols into the same array, but
using the size of the other. This generated a SIGSEV when they
occassionally mismatched.

12 months agotest: ignore inconsistent coverage errors
Frantisek Sumsal [Fri, 15 Nov 2024 13:31:53 +0000 (14:31 +0100)] 
test: ignore inconsistent coverage errors

lcov 2.1 introduced additional consistency checks [0] which make it trip
over our coverage results quite often:

Summary coverage rate:
  source files: 915
  lines.......: 36.9% (78950 of 214010 lines)
  functions...: 53.3% (6906 of 12949 functions)
Message summary:
  73 warning messages:
    inconsistent: 73
lcov: ERROR: (corrupt) unable to read trace file '/var/tmp/systemd-test-TEST-04-JOURNAL/coverage-info.new': lcov: ERROR: (inconsistent) "/build/src/shutdown/umount.c":298: function 'umount_with_timeout' is not hit but line 317 is.
        To skip consistency checks, see the 'check_data_consistency' section in man lcovrc(5).
        (use "lcov --ignore-errors inconsistent ..." to bypass this error)
        (use "lcov --ignore-errors corrupt ..." to bypass this error)

This is caused by coverage collected during shutdown which is a bit
unreliable, especially towards the final shutdown stage(s). Let's just
ignore the consistency errors for now.

[0] https://github.com/linux-test-project/lcov/releases/tag/v2.2

12 months agoboot: make .hwids PE section more flexible to cover more than DT one day
Lennart Poettering [Thu, 14 Nov 2024 22:02:55 +0000 (23:02 +0100)] 
boot: make .hwids PE section more flexible to cover more than DT one day

The proposal in https://github.com/systemd/systemd/pull/35091 suggests
that there are going to be more resources sooner or later that shall be
embeddable in a UKI, but are specific to some machine. The .hwids logic
as it is implemented right now is conceptually flexible enough to cover
that too (as long as the system has SMBIOS and thus CHIDs). Hence, let's
prepare the ground for a future (that might possibly never come, but
let's keep the door open) where the section can be reused for this
purpose.

The patch is really dumb ultimately. it just changes the initial field
in the "Device" struct to carry not just the size of it (as before) but
also a type indicator, that is for now fixed to 1, indicating DT blobs.

This breaks compatibility, hence this should get merged before we do the
v257 release, so that this is done properly before the first release
with .hwids.

12 months agonspawn: --private-users-ownership= value is called 'chown', not 'own'
Lennart Poettering [Wed, 13 Nov 2024 11:14:53 +0000 (12:14 +0100)] 
nspawn: --private-users-ownership= value is called 'chown', not 'own'

12 months agopid1: make clear that $WATCHDOG_USEC is set for the shutdown binary, noone else
Lennart Poettering [Thu, 14 Nov 2024 22:16:19 +0000 (23:16 +0100)] 
pid1: make clear that $WATCHDOG_USEC is set for the shutdown binary, noone else

We use the $WATCHDOG_USEC variable for two very closely uses: as part of
the sd_watchdog_enabled() protocol for implementing service watchdogs.
And as part of the protocol between the service manager and
systemd-shutdown across the PID 1 execve() transition during shutdown.

Apparently some exitrds tools got confused by the latter use. Let's
address that by setting $WATCHDOG_PID to 1, in accordance to the
sd_watchdog_enabled() protocol to make clear this is only intended for
PID 1 and nothing else.

Replaces: #35135

12 months agoAdd proper dependencies to ukify target
Daan De Meyer [Fri, 15 Nov 2024 09:34:27 +0000 (10:34 +0100)] 
Add proper dependencies to ukify target

Also remove the systemd-measure dependency from the mkosi target as
mkosi doesn't invoke systemd-measure itself.

12 months agoboot: explain the 4G quirks we apply to initrd memory allocations
Lennart Poettering [Fri, 15 Nov 2024 08:38:38 +0000 (09:38 +0100)] 
boot: explain the 4G quirks we apply to initrd memory allocations

Given how long it took to come to a conclusion of the discussions around
https://github.com/systemd/systemd/issues/35026, let's add a comment
that makes this easier to grok for the next time this comes up.

Follow-up for: 6e207b370e91e681efb08c497a6c8ad78e3c8d83

12 months agonetwork/nexthop: fix copy-and-paste error
Yu Watanabe [Fri, 15 Nov 2024 00:07:00 +0000 (09:07 +0900)] 
network/nexthop: fix copy-and-paste error

Follow-up for 688f166972916b5cfc9287055582ac1aeef3d486.

12 months agotest: skip TEST-84-STORAGETM if running with bugged libnvme
Luca Boccassi [Thu, 14 Nov 2024 16:19:25 +0000 (16:19 +0000)] 
test: skip TEST-84-STORAGETM if running with bugged libnvme

libnvme 1.11 appears to require a kernel built with NVME TLS
kconfigs, and fails hard if it is not, as the expected
privileged keyring '.nvme' is not present. We cannot just
create it from userspace, as privileged keyrings can only
be created by the kernel itself (those starting with '.').

Skip the test if the library exactly matches this version.

https://github.com/linux-nvme/nvme-cli/issues/2573

Fixes https://github.com/systemd/systemd/issues/35130

12 months agoukify: Support building UKIs with .dtbauto and .hwids sections (#34158)
Luca Boccassi [Thu, 14 Nov 2024 16:26:01 +0000 (16:26 +0000)] 
ukify: Support building UKIs with .dtbauto and .hwids sections (#34158)

Stub behavior will be as following:
1. If there are no `.dtbauto` sections then is used `.dtb` if present
2. If there are `.dtbauto` sections and there is at least one matching
(either with the firmware-provided DT or via `.hwids`) then it'll be
used instead of the `.dtb`.

Based on #28959 and [dtbloader](https://github.com/TravMurav/dtbloader)

Closes #28959
Fixes #31946

12 months agonspawn: several follow-ups for recent changes (#35146)
Yu Watanabe [Thu, 14 Nov 2024 15:12:40 +0000 (00:12 +0900)] 
nspawn: several follow-ups for recent changes (#35146)

Closes #35116.

12 months agonetwork/ndisc: fix coalescing of ndisc routes when multiple router exists (#35119)
Yu Watanabe [Thu, 14 Nov 2024 15:10:22 +0000 (00:10 +0900)] 
network/ndisc: fix coalescing of ndisc routes when multiple router exists (#35119)

Fixes #33470.

12 months agoukify: Support building UKIs with a .hwids section 34158/head
anonymix007 [Sat, 31 Aug 2024 12:51:42 +0000 (15:51 +0300)] 
ukify: Support building UKIs with a .hwids section

This section contains a predefined set of HWIDs and the corresponding compatibles to be used in dtb matching

12 months agoukify: Support building UKIs with .dtbauto sections
anonymix007 [Tue, 22 Oct 2024 12:27:27 +0000 (15:27 +0300)] 
ukify: Support building UKIs with .dtbauto sections

12 months agoprocess-util: refuse FORK_DETACH + FORK_DEATHSIG_*
Mike Yuan [Mon, 11 Nov 2024 18:38:36 +0000 (19:38 +0100)] 
process-util: refuse FORK_DETACH + FORK_DEATHSIG_*

There's no synchoronization between the intermediate process
and the double-forked child, and the semantics are not useful.
Refuse such combination.

12 months agoasync: block SIGTERM in asynchronous_rm_rf()
Mike Yuan [Mon, 11 Nov 2024 18:11:38 +0000 (19:11 +0100)] 
async: block SIGTERM in asynchronous_rm_rf()

See justifications at https://github.com/systemd/systemd/pull/32235#issuecomment-2062327783

12 months agonetwork/netdev: follow-ups for reloading .netdev files (#34979)
Luca Boccassi [Thu, 14 Nov 2024 11:36:26 +0000 (11:36 +0000)] 
network/netdev: follow-ups for reloading .netdev files (#34979)

Follow-ups for #34909.

12 months agoTEST-13-NSPAWN: add test case for /dev/net/tun 35146/head
Yu Watanabe [Thu, 14 Nov 2024 09:08:35 +0000 (18:08 +0900)] 
TEST-13-NSPAWN: add test case for /dev/net/tun

For issue #35116.

12 months agonspawn: ignore failure in creating /dev/net/tun when --private-network is unspecified
Yu Watanabe [Wed, 13 Nov 2024 04:36:11 +0000 (13:36 +0900)] 
nspawn: ignore failure in creating /dev/net/tun when --private-network is unspecified

Follow-up for efedb6b0f3cff37950112fd37cb750c16d599bc7.
Closes #35116.

12 months agonspawn: split out copy_devnode_one() and bind_mount_devnode() from copy_devnodes()
Yu Watanabe [Wed, 13 Nov 2024 04:17:42 +0000 (13:17 +0900)] 
nspawn: split out copy_devnode_one() and bind_mount_devnode() from copy_devnodes()

While doing that, even if mknod() failed, we anyway try to fall back to
use bind mount if arg_uid_shift == 0.

Mostly no functional change, just refactoring and preparation for later commit.

12 months agonspawn: silence warning about failure in getting fuse version
Yu Watanabe [Wed, 13 Nov 2024 04:42:03 +0000 (13:42 +0900)] 
nspawn: silence warning about failure in getting fuse version

Follow-up for dc3223919f663b7c8b8d8d1d6072b4487df7709b.

If nspawn is invoked with DevicePolicy= but DeviceAllow= does not
contain /dev/fuse, nspawn will fail to get fuse version with -EPERM.
Let's silence the warning in that case.

12 months agoboot/stub: allocate pages for combined initrds below 4GiB only on x86 (#35149)
andre4ik3 [Thu, 14 Nov 2024 04:20:09 +0000 (08:20 +0400)] 
boot/stub: allocate pages for combined initrds below 4GiB only on x86 (#35149)

Outside of x86, some machines (e.g. Apple silicon, AMD Opteron A1100)
have physical memory mapped above 4GiB, meaning this allocation will
fail, causing the entire boot process to fail on these machines.

This commit makes it so that the below-4GB address space allocation
requirement is only set on x86 platforms, and not on other platforms
(that don't have the specific Linux x86 boot protocol), thereby fixing
boot on those that have no memory mapped below 4GiB in their address
space.

Tested on an Apple silicon M1 laptop and an AMD x86_64 desktop tower.

Fixes: #35026
12 months agofetch-distro: use git log --first-parent and update debian commit (#35151)
Yu Watanabe [Thu, 14 Nov 2024 03:15:38 +0000 (12:15 +0900)] 
fetch-distro: use git log --first-parent and update debian commit (#35151)

12 months agologind-session: be more specific about session_kill() errors, plus minor fixes for...
Yu Watanabe [Thu, 14 Nov 2024 03:04:30 +0000 (12:04 +0900)] 
logind-session: be more specific about session_kill() errors, plus minor fixes for sd_bus_error handling (#35150)

12 months agotmpfiles.d/meson.build: two minor tweaks (#35153)
Yu Watanabe [Thu, 14 Nov 2024 03:02:34 +0000 (12:02 +0900)] 
tmpfiles.d/meson.build: two minor tweaks (#35153)

12 months agonetwork/ndisc: dynamically configure nexthops when routes with gateway are requested 35119/head
Yu Watanabe [Mon, 11 Nov 2024 17:13:04 +0000 (02:13 +0900)] 
network/ndisc: dynamically configure nexthops when routes with gateway are requested

Previously, when multiple routers send RAs with the same preference,
then the kernel merges routes with the same gateway address:
===
default proto ra metric 1024 expires 595sec pref medium
        nexthop via fe80::200:10ff:fe10:1060 dev enp0s9 weight 1
        nexthop via fe80::200:10ff:fe10:1061 dev enp0s9 weight 1
===
This causes IPv6 Conformance Test v6LC.2.2.11 failure, as reported in #33470.

To avoid the coalescing issue, we can use nexthop, as suggested by Ido Schimmel:
https://lore.kernel.org/netdev/ZytjEINNRmtpadr_@shredder/
> BTW, you can avoid the coalescing problem by using the nexthop API.
> # ip nexthop add id 1 via fe80::200:10ff:fe10:1060 dev enp0s9
> # ip -6 route add default nhid 1 expires 600 proto ra
> # ip nexthop add id 2 via fe80::200:10ff:fe10:1061 dev enp0s9
> # ip -6 route append default nhid 2 expires 600 proto ra
> # ip -6 route
> fe80::/64 dev enp0s9 proto kernel metric 256 pref medium
> default nhid 1 via fe80::200:10ff:fe10:1060 dev enp0s9 proto ra metric 1024 expires 563sec pref medium
> default nhid 2 via fe80::200:10ff:fe10:1061 dev enp0s9 proto ra metric 1024 expires 594sec pref medium

Fixes #33470.

Suggested-by: Ido Schimmel <idosch@idosch.org>
12 months agonetwork/nexthop: serialize/deserialize nexthops
Yu Watanabe [Mon, 11 Nov 2024 16:52:07 +0000 (01:52 +0900)] 
network/nexthop: serialize/deserialize nexthops

12 months agonetwork/nexthop: preparation for dynamically configuring nexthops
Yu Watanabe [Mon, 11 Nov 2024 07:19:26 +0000 (16:19 +0900)] 
network/nexthop: preparation for dynamically configuring nexthops

Preparation for later commits.

12 months agonetwork: serialize and deserialize current configuration (#34989)
Yu Watanabe [Thu, 14 Nov 2024 02:59:44 +0000 (11:59 +0900)] 
network: serialize and deserialize current configuration (#34989)

Replaces #34963.

Fixes #26602.
Fixes #32569.

12 months agotest-network: update KeepConfiguration=dhcp -> dynamic 34989/head
Yu Watanabe [Tue, 5 Nov 2024 03:17:51 +0000 (12:17 +0900)] 
test-network: update KeepConfiguration=dhcp -> dynamic

12 months agoman/network: update documentation for KeepConfiguration=
Yu Watanabe [Tue, 5 Nov 2024 03:15:04 +0000 (12:15 +0900)] 
man/network: update documentation for KeepConfiguration=

12 months agonetwork: rename KeepConfiguration=dhcp -> dynamic
Yu Watanabe [Tue, 5 Nov 2024 03:14:01 +0000 (12:14 +0900)] 
network: rename KeepConfiguration=dhcp -> dynamic

KeepConfiguration=dhcp keeps not only DHCP configurations but
also SLAAC or IPV4LL. Let's rename the value to 'dynamic'.

12 months agonetwork/ipv4ll: use a foreign IPv4LL address when KeepConfiguration=dhcp
Yu Watanabe [Wed, 6 Nov 2024 18:40:04 +0000 (03:40 +0900)] 
network/ipv4ll: use a foreign IPv4LL address when KeepConfiguration=dhcp

This is similar to what we do for DHCPv4 address, but for IPv4LL
address.

12 months agonetwork: keep all dynamically acquired configurations when KeepConfiguration=dhcp...
Yu Watanabe [Wed, 6 Nov 2024 18:43:50 +0000 (03:43 +0900)] 
network: keep all dynamically acquired configurations when KeepConfiguration=dhcp-on-stop

By the previous commit, configuration source of addresses and routes are
saved on stop and restored on start. Hence, we can keep dynamic
configurations on stop.

Co-authored-by: Jian Zhang <zhangjian.3032@bytedance.com>
12 months agonetwork: introduce manager_serialize()/deserialize()
Yu Watanabe [Fri, 1 Nov 2024 21:03:09 +0000 (06:03 +0900)] 
network: introduce manager_serialize()/deserialize()

Currently, only configuration sources and providers of addresses and
routes are serialized/deserialized.
This should mostly not change behavior, as dynamic (except for DHCPv4)
configurations will be dropped before stopping networkd, and for DHCPv4
protocol, we have already had another logic to handle DHCPv4
configurations.
Preparation for later commits.

12 months agonetworkd-test.py: show current status when wait-online failed 34979/head
Yu Watanabe [Tue, 12 Nov 2024 10:43:57 +0000 (19:43 +0900)] 
networkd-test.py: show current status when wait-online failed

For easier debugging on failure.

12 months agotest-network: add tests for reloading .netdev files for independent netdevs
Yu Watanabe [Fri, 8 Nov 2024 16:26:29 +0000 (01:26 +0900)] 
test-network: add tests for reloading .netdev files for independent netdevs

12 months agonetwork/tuntap: manage tun/tap fds by manager
Yu Watanabe [Fri, 8 Nov 2024 17:48:17 +0000 (02:48 +0900)] 
network/tuntap: manage tun/tap fds by manager

Otherwise, when a .netdev file for tun or tap netdev is updated,
reloading the file leaks the previous file descriptor.