]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agostub: Also reserve sections for EFI stub 28595/head
Jan Janssen [Sun, 30 Jul 2023 19:05:24 +0000 (21:05 +0200)] 
stub: Also reserve sections for EFI stub

The stub image may not have enough sections to cause enough PE header
space to be free for later expansion. Given that the stub is guaranteed
to be expanded we should always reserve enough sections for it.

This also bumps the reservation to 15. It doesn't add more space
compared to current builds but it more closely reflects the amount of
sections that a UKI could have in total if all optional sections are
used.

Fixes: #28593
2 years agoelf2efi: Fix header size calculation
Jan Janssen [Sun, 30 Jul 2023 18:59:04 +0000 (20:59 +0200)] 
elf2efi: Fix header size calculation

The PE header size calculation failed to take the PE magic and coff
header size into account, which will lead to header truncation if we are
writing only 5 sections.

2 years agonetwork: fix typo
Yu Watanabe [Sun, 30 Jul 2023 17:08:24 +0000 (02:08 +0900)] 
network: fix typo

Follow-up for bbeceaf2956f6cc12d75d2dc571cfc9fb1d9d839.

2 years agoresolved: added show-server-state verb and DumpStatistics varlink method
Kiran Vemula [Fri, 7 Jul 2023 12:39:20 +0000 (18:09 +0530)] 
resolved: added show-server-state verb and DumpStatistics  varlink method

Added show-server-state verb to resolvectl
Added DumpStatistics and ResetStatistics  methods to varlink

2 years agoMerge pull request #28591 from yuwata/network-neighbor-next
Yu Watanabe [Sun, 30 Jul 2023 16:42:39 +0000 (01:42 +0900)] 
Merge pull request #28591 from yuwata/network-neighbor-next

network/neighbor: follow the kernel's way how to manage neighbors

2 years agoMerge pull request #28575 from yuwata/network-address-next-part3
Yu Watanabe [Sun, 30 Jul 2023 15:59:31 +0000 (00:59 +0900)] 
Merge pull request #28575 from yuwata/network-address-next-part3

network: check specified address settings in more detail

2 years agoMerge pull request #28572 from yuwata/network-ipv4acd
Yu Watanabe [Sun, 30 Jul 2023 15:58:54 +0000 (00:58 +0900)] 
Merge pull request #28572 from yuwata/network-ipv4acd

network: split-out sd_ipv4acd object management from Address object

2 years agotmpfiles.d: adjust /dev/vfio/vfio access mode
Frantisek Sumsal [Sun, 30 Jul 2023 13:21:31 +0000 (15:21 +0200)] 
tmpfiles.d: adjust /dev/vfio/vfio access mode

kmod-static-nodes.service sets the mode to 0600, but we want it
to be 0666 as specified in 50-udev-default.rules.

Resolves: #28588

2 years agotest-network: add tests for several invalid neighbor settings, and overriding settings 28591/head
Yu Watanabe [Mon, 10 Jul 2023 03:16:51 +0000 (12:16 +0900)] 
test-network: add tests for several invalid neighbor settings, and overriding settings

This also makes the checks stricter.

2 years agonetwork/neighbor: do not add Neighbor object to Link on requesting
Yu Watanabe [Mon, 10 Jul 2023 01:12:10 +0000 (10:12 +0900)] 
network/neighbor: do not add Neighbor object to Link on requesting

Then, all neighbors managed by a link really exist (unless the kernel
silently removes neighbors).

2 years agoMerge pull request #28428 from ldv-alt/ERRNO_IS
Luca Boccassi [Sun, 30 Jul 2023 15:31:16 +0000 (16:31 +0100)] 
Merge pull request #28428 from ldv-alt/ERRNO_IS

treewide: cleanup use of ERRNO_IS_*(r)

2 years agonetwork/neighbor: follow the way how kernel distinguish neighbor settings
Yu Watanabe [Mon, 10 Jul 2023 02:30:11 +0000 (11:30 +0900)] 
network/neighbor: follow the way how kernel distinguish neighbor settings

The kernel manages neighbors by the destination address, and the
LinkLayerAddress is mutable. Let's manage neighbors in the same way, and
dedup settings.

2 years agonetwork/neighbor: skip to request neighbors with unmatching link layer address length
Yu Watanabe [Mon, 10 Jul 2023 02:55:25 +0000 (11:55 +0900)] 
network/neighbor: skip to request neighbors with unmatching link layer address length

2 years agonetwork/ipv4acd: split out sd_ipv4acd management from Address to Link 28572/head
Yu Watanabe [Sun, 30 Jul 2023 14:16:41 +0000 (23:16 +0900)] 
network/ipv4acd: split out sd_ipv4acd management from Address to Link

Then, we can start IPv4ACD without adding corresponding Address object
to Link.

Hopefully, no functional change, just refactoring and preparation for
later commits.

2 years agoin-addr-util: introduce PTR_TO_IN4_ADDR() and IN4_ADDR_TO_PTR()
Yu Watanabe [Sat, 8 Jul 2023 03:23:27 +0000 (12:23 +0900)] 
in-addr-util: introduce PTR_TO_IN4_ADDR() and IN4_ADDR_TO_PTR()

These should be useful when an IPv4 address is used as a key of a
hashmap.

2 years agosd-ipv4acd: introduce sd_ipv4acd_is_bound()
Yu Watanabe [Sat, 8 Jul 2023 03:24:57 +0000 (12:24 +0900)] 
sd-ipv4acd: introduce sd_ipv4acd_is_bound()

2 years agonetwork/ipv4acd: drop unused argument
Yu Watanabe [Sat, 8 Jul 2023 05:24:41 +0000 (14:24 +0900)] 
network/ipv4acd: drop unused argument

2 years agonetwork/ipv4acd: use IN4_ADDR_TO_STRING()
Yu Watanabe [Sat, 8 Jul 2023 03:31:25 +0000 (12:31 +0900)] 
network/ipv4acd: use IN4_ADDR_TO_STRING()

2 years agonetwork/address: ignore address settings with unsupported flags 28575/head
Yu Watanabe [Tue, 11 Jul 2023 02:07:21 +0000 (11:07 +0900)] 
network/address: ignore address settings with unsupported flags

2 years agonetwork/address: drop IPv6 settings when the kernel does not support IPv6
Yu Watanabe [Mon, 10 Jul 2023 03:32:40 +0000 (12:32 +0900)] 
network/address: drop IPv6 settings when the kernel does not support IPv6

2 years agonetwork: ndisc - Honour CurHopLimit
Susant Sahani [Tue, 18 Jul 2023 14:42:46 +0000 (20:12 +0530)] 
network: ndisc - Honour CurHopLimit

RFC4861 Neighbor Discovery – Sections 4.2 and 6.3.4

From section 4.2. Router Advertisement Message Format:

Cur Hop Limit        8-bit unsigned integer.  The default value that
                     should be placed in the Hop Count field of the IP
                     header for outgoing IP packets.  A value of zero
                     means unspecified (by this router).

2 years agonetwork/address: merge address_needs_to_set_broadcast() with address_get_broadcast()
Yu Watanabe [Tue, 11 Jul 2023 01:53:27 +0000 (10:53 +0900)] 
network/address: merge address_needs_to_set_broadcast() with address_get_broadcast()

No functional change, preparation for later commits.

2 years agoMerge pull request #28574 from yuwata/network-queue-next
Luca Boccassi [Sun, 30 Jul 2023 13:27:43 +0000 (14:27 +0100)] 
Merge pull request #28574 from yuwata/network-queue-next

network/queue: preparations

2 years agoMerge pull request #28571 from yuwata/network-address-next-part1
Luca Boccassi [Sun, 30 Jul 2023 13:01:53 +0000 (14:01 +0100)] 
Merge pull request #28571 from yuwata/network-address-next-part1

network: several trivial cleanups

2 years agonetwork/neighbor: drop IPv6 settings when the kernel does not support IPv6
Yu Watanabe [Mon, 10 Jul 2023 02:54:33 +0000 (11:54 +0900)] 
network/neighbor: drop IPv6 settings when the kernel does not support IPv6

2 years agonetwork: rename sd_netlink_message* req -> m
Yu Watanabe [Mon, 10 Jul 2023 01:06:08 +0000 (10:06 +0900)] 
network: rename sd_netlink_message* req -> m

This also merges neighbor_configure_message() with neighbor_configure().

2 years agoMerge pull request #28564 from YHNdnzj/gpt-auto-kill-more-duplicate
Yu Watanabe [Sat, 29 Jul 2023 23:59:50 +0000 (08:59 +0900)] 
Merge pull request #28564 from YHNdnzj/gpt-auto-kill-more-duplicate

gpt-auto: don't mount ESP if there's an fstab entry for it

2 years agomeson: use kwargs to declare efi binaries
Yu Watanabe [Sun, 25 Jun 2023 22:11:53 +0000 (07:11 +0900)] 
meson: use kwargs to declare efi binaries

No functional change, just refactoring.

2 years agoanalyze: fix pcrs verb output without TPM support
Frantisek Sumsal [Sat, 29 Jul 2023 19:04:44 +0000 (21:04 +0200)] 
analyze: fix pcrs verb output without TPM support

If we don't have TPM support then `alg` is NULL and passing this to
table_new() means we'd get a table with only two columns instead of
three, leading up to a very confusing output:

$ build/systemd-analyze pcrs
System lacks full TPM2 support, not showing PCR state.
                 NR NAME
                  0 platform-code
                  - 1
    platform-config -
                  2 external-code
                  - 3
    external-config -
                  4 boot-loader-code
                  - 5
 boot-loader-config -
                  6 -
                  - 7
...

Let's name the header in this case with a simple dash, as it's going
to be hidden anyway, to make the table nice again:

$ build/systemd-analyze pcrs
System lacks full TPM2 support, not showing PCR state.
NR NAME
 0 platform-code
 1 platform-config
 2 external-code
 3 external-config
 4 boot-loader-code
 5 boot-loader-config
 6 -
 7 secure-boot-policy
...

2 years agotree-wide: fix typo
Yu Watanabe [Sat, 29 Jul 2023 15:23:28 +0000 (00:23 +0900)] 
tree-wide: fix typo

2 years agonetwork/queue: detach request from queue when netlink reply received 28574/head
Yu Watanabe [Sat, 8 Jul 2023 22:06:24 +0000 (07:06 +0900)] 
network/queue: detach request from queue when netlink reply received

Then, we can find and use the Request object after sending netlink
message.

Preparation for later commits.

2 years agonetwork/queue: free assigned userdata only when a new request is queued
Yu Watanabe [Mon, 10 Jul 2023 01:27:09 +0000 (10:27 +0900)] 
network/queue: free assigned userdata only when a new request is queued

2 years agonetwork/address: split-out address_match_null() 28571/head
Yu Watanabe [Sat, 8 Jul 2023 22:10:57 +0000 (07:10 +0900)] 
network/address: split-out address_match_null()

No functional change, preparation for later commits.

2 years agonetwork: drop unnecessary conditions
Yu Watanabe [Mon, 10 Jul 2023 00:38:38 +0000 (09:38 +0900)] 
network: drop unnecessary conditions

When link_get_by_index() succeeds, the result is always non-NULL.

2 years agonetwork: use address_remove_and_drop()
Yu Watanabe [Mon, 10 Jul 2023 00:30:58 +0000 (09:30 +0900)] 
network: use address_remove_and_drop()

2 years agonetwork/address: free Address object by caller that passed to link_request_address()
Yu Watanabe [Sat, 8 Jul 2023 22:15:21 +0000 (07:15 +0900)] 
network/address: free Address object by caller that passed to link_request_address()

Follow-up for 9684a8ded083dd427f843b0c40aa0292e6c7ae06.

Now, the input Address object is always copied, hence it is not
necessary to free it in link_request_address().

2 years agoMerge pull request #28562 from yuwata/ukify-option-length
Yu Watanabe [Sat, 29 Jul 2023 12:41:27 +0000 (21:41 +0900)] 
Merge pull request #28562 from yuwata/ukify-option-length

ukify: check option length

2 years agoMerge pull request #28563 from keszybz/configure-meson
Yu Watanabe [Sat, 29 Jul 2023 12:40:58 +0000 (21:40 +0900)] 
Merge pull request #28563 from keszybz/configure-meson

configure: update meson invocation

2 years agolabeller: add build-system label 28563/head
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jul 2023 12:11:14 +0000 (14:11 +0200)] 
labeller: add build-system label

2 years agoconfigure: update meson invocation
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jul 2023 12:07:07 +0000 (14:07 +0200)] 
configure: update meson invocation

New meson says:
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Inspired by https://github.com/systemd/systemd/issues/28482.

2 years agogpt-auto: don't mount ESP if there's an fstab entry for it 28564/head
Mike Yuan [Sat, 29 Jul 2023 12:05:58 +0000 (20:05 +0800)] 
gpt-auto: don't mount ESP if there's an fstab entry for it

Follow-up for #28511

Fixes #28550

2 years agofstab-util: add fstab_has_node
Mike Yuan [Sat, 29 Jul 2023 12:00:55 +0000 (20:00 +0800)] 
fstab-util: add fstab_has_node

2 years agoMerge pull request #28557 from bluca/utils
Luca Boccassi [Sat, 29 Jul 2023 11:39:06 +0000 (12:39 +0100)] 
Merge pull request #28557 from bluca/utils

utils: add serialize_bool_elide() and send/receive helpers for FD array

2 years agoMerge pull request #28508 from yuwata/network-next-dhcp4
Luca Boccassi [Sat, 29 Jul 2023 11:15:38 +0000 (12:15 +0100)] 
Merge pull request #28508 from yuwata/network-next-dhcp4

network: several cleanups and fixes for DHCPv4 client

2 years agotest-ukify: add tests for an empty argument 28562/head
Yu Watanabe [Sat, 29 Jul 2023 10:20:39 +0000 (19:20 +0900)] 
test-ukify: add tests for an empty argument

2 years agoMerge pull request #28409 from yuwata/network-dhcp4-drop-duid-only
Yu Watanabe [Sat, 29 Jul 2023 10:55:57 +0000 (19:55 +0900)] 
Merge pull request #28409 from yuwata/network-dhcp4-drop-duid-only

network,dhcp4: drop "duid-only" option support in ClientIdentifier=

2 years agoserialize: add serialize_bool_elide() helper 28557/head
Luca Boccassi [Mon, 26 Jun 2023 15:13:49 +0000 (16:13 +0100)] 
serialize: add serialize_bool_elide() helper

In many case we serialize into objects that have been zero-initialized.
To save some time and resources when there are a lot of booleans, add a
helper that serializes only when the boolean is true.

2 years agosocket-util: add send/receive helpers for FD array
Luca Boccassi [Fri, 7 Jul 2023 23:18:01 +0000 (00:18 +0100)] 
socket-util: add send/receive helpers for FD array

2 years agomkosi: set CONFIG_AUTOFS_FS rather than CONFIG_AUTOFS4_FS
Sven Joachim [Sat, 29 Jul 2023 08:05:23 +0000 (10:05 +0200)] 
mkosi: set CONFIG_AUTOFS_FS rather than CONFIG_AUTOFS4_FS

Since Linux 4.18 CONFIG_AUTOFS4_FS just enables CONFIG_AUTOFS_FS, its
description in fs/autofs/Kconfig reads:

   This name exists for people to just automatically pick up the
   new name of the autofs Kconfig option. All it does is select
   the new option name.

   It will go away in a release or two as people have
   transitioned to just plain AUTOFS_FS.

2 years agoNEWS: mention about the removal of duid-only option 28409/head
Yu Watanabe [Sat, 15 Jul 2023 05:42:32 +0000 (14:42 +0900)] 
NEWS: mention about the removal of duid-only option

2 years agonetwork,dhcp: drop support of ClientIdentifier=duid-only
Yu Watanabe [Sat, 15 Jul 2023 05:35:28 +0000 (14:35 +0900)] 
network,dhcp: drop support of ClientIdentifier=duid-only

The setting has not been never worked, not tested, and should not been
used. As the option is RFC incompliant. Let's drop it.

Closes #25562.

2 years agoukify: check option length
Yu Watanabe [Sat, 29 Jul 2023 09:47:48 +0000 (18:47 +0900)] 
ukify: check option length

Follow-up for df4a46733a609f1673de0bebb38e89fffd70c16c.

2 years agoMerge pull request #28558 from bluca/docs
Yu Watanabe [Sat, 29 Jul 2023 09:36:14 +0000 (18:36 +0900)] 
Merge pull request #28558 from bluca/docs

Update docs/RELEASE.md and NEWS

2 years agoNEWS: open for v255 business 28558/head
Luca Boccassi [Fri, 28 Jul 2023 22:42:46 +0000 (23:42 +0100)] 
NEWS: open for v255 business

2 years agodocs: note that Github Pages configuration has to be updated after a release
Luca Boccassi [Fri, 28 Jul 2023 22:42:20 +0000 (23:42 +0100)] 
docs: note that Github Pages configuration has to be updated after a release

2 years agoMerge pull request #28391 from ssahani/rp-filter
Luca Boccassi [Fri, 28 Jul 2023 20:59:04 +0000 (21:59 +0100)] 
Merge pull request #28391 from ssahani/rp-filter

networkd: allow setting rp_filter for an interface

2 years agoMerge pull request #28552 from bluca/test_execute
Luca Boccassi [Fri, 28 Jul 2023 19:48:41 +0000 (20:48 +0100)] 
Merge pull request #28552 from bluca/test_execute

test-execute: measure, count and log test runs

2 years agotest-execute: count and log the number of individual tests actually executed 28552/head
Luca Boccassi [Fri, 28 Jul 2023 18:02:26 +0000 (19:02 +0100)] 
test-execute: count and log the number of individual tests actually executed

2 years agoDrop split-usr and unmerged-usr support
Luca Boccassi [Mon, 12 Jun 2023 01:15:19 +0000 (02:15 +0100)] 
Drop split-usr and unmerged-usr support

As previously announced, execute order 66:

https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html

The meson options split-usr, rootlibdir and rootprefix become no-ops
that print a warning if they are set to anything other than the
default values. We can remove them in a future release.

2 years agotest-execute: measure and log time elapsed while running tests
Luca Boccassi [Tue, 25 Jul 2023 11:16:05 +0000 (12:16 +0100)] 
test-execute: measure and log time elapsed while running tests

In order to get a good approximation of latencies when starting
services, timestamp before/after running the test cases and print
the difference. This allows to measure while ignoring the setup/shutdown
time for the test harness.

2 years agoMerge pull request #28551 from mrc0mmand/unit-cleanup-set
Luca Boccassi [Fri, 28 Jul 2023 12:57:01 +0000 (13:57 +0100)] 
Merge pull request #28551 from mrc0mmand/unit-cleanup-set

core: free the strings in the set as well during unit cleanup

2 years agonspawn,shared: cleanup use of ERRNO_IS_SECCOMP_FATAL() 28428/head
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
nspawn,shared: cleanup use of ERRNO_IS_SECCOMP_FATAL()

Given that ERRNO_IS_SECCOMP_FATAL() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_SECCOMP_FATAL() are the
values returned by external libseccomp function seccomp_load() which is
not expected to return any positive values, but let's be consistent
anyway and move ERRNO_IS_SECCOMP_FATAL() invocations to the branches
where the return values are known to be negative.

2 years agoMerge pull request #28359 from keszybz/ret-gather
Daan De Meyer [Fri, 28 Jul 2023 12:28:35 +0000 (14:28 +0200)] 
Merge pull request #28359 from keszybz/ret-gather

Add RET_GATHER macro to make continue-but-remember-first-error functions easier

2 years agohomework: cleanup use of ERRNO_IS_DEVICE_ABSENT()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
homework: cleanup use of ERRNO_IS_DEVICE_ABSENT()

Given that ERRNO_IS_DEVICE_ABSENT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_DEVICE_ABSENT()
are the values returned by external cryptsetup functions
sym_crypt_init_by_name() and sym_crypt_deactivate_by_name() which are
not expected to return any positive values, but let's be consistent
anyway and move ERRNO_IS_DEVICE_ABSENT() invocations to the branches
where the return values are known to be negative.

2 years agotest: cleanup use of ERRNO_IS_PRIVILEGE()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
test: cleanup use of ERRNO_IS_PRIVILEGE()

Given that ERRNO_IS_PRIVILEGE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_PRIVILEGE() are the values
returned by procfs_get_pid_max() and procfs_get_threads_max() which are
not expected to return any positive values, but let's be consistent
anyway and move ERRNO_IS_PRIVILEGE() invocations to the branches where
the return values are known to be negative.

2 years agouserdb: cleanup use of ERRNO_IS_PRIVILEGE()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
userdb: cleanup use of ERRNO_IS_PRIVILEGE()

Given that ERRNO_IS_PRIVILEGE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_PRIVILEGE() is the value
returned by json_parse_file() which is not expected to return any positive
values, but let's be consistent anyway and move the ERRNO_IS_PRIVILEGE()
invocation to the branch where the return value is known to be negative.

2 years agocoredumpctl: cleanup use of ERRNO_IS_PRIVILEGE()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
coredumpctl: cleanup use of ERRNO_IS_PRIVILEGE()

Given that ERRNO_IS_PRIVILEGE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_PRIVILEGE() is the value
returned by access_fd() which is not expected to return any positive
values, but let's be consistent anyway and move the ERRNO_IS_PRIVILEGE()
invocation to the branch where the return value is known to be negative.

2 years agoexecute: cleanup use of ERRNO_IS_PRIVILEGE()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
execute: cleanup use of ERRNO_IS_PRIVILEGE()

Given that ERRNO_IS_PRIVILEGE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_PRIVILEGE() are the values
returned by set_oom_score_adjust() and set_coredump_filter() which are
not expected to return any positive values, but let's be consistent
anyway and move the ERRNO_IS_PRIVILEGE() invocations to the branches
where the return values are known to be negative.

2 years agobtrfs-util,tmpfiles: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
btrfs-util,tmpfiles: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_NOT_SUPPORTED() are the
values returned by btrfs_subvol_make_fd() which is not expected to
return any positive values, but let's be consistent anyway and move
ERRNO_IS_NOT_SUPPORTED() invocations to the branches where
the return values are known to be negative.

2 years agorepart: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
repart: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_NOT_SUPPORTED() are the
values returned by efi_get_variable_string() and efi_set_variable()
which are not expected to return any positive values, but let's be
consistent anyway and move ERRNO_IS_NOT_SUPPORTED() invocations
to the branches where the return values are known to be negative.

2 years agonspawn: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
nspawn: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_NOT_SUPPORTED() is the
value returned by remount_idmap() which is not expected to return
any positive values, but let's be consistent anyway and move the
ERRNO_IS_NOT_SUPPORTED() invocation to the branch where
the return value is known to be negative.

2 years agologind: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
logind: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_NOT_SUPPORTED() is the
value returned by efi_loader_get_entries() which is not expected to
return any positive values, but let's be consistent anyway and move
the ERRNO_IS_NOT_SUPPORTED() invocation to the branch where
the return value is known to be negative.

2 years agohomework: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
homework: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_NOT_SUPPORTED() is the
value returned by home_update_quota_auto() which is not expected to
return any positive values, but let's be consistent anyway and move
the ERRNO_IS_NOT_SUPPORTED() invocation to the branch where
the return value is known to be negative.

2 years agocryptsetup: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
cryptsetup: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_NOT_SUPPORTED() is the
value returned by find_tpm2_auto_data() which is not expected to return
any positive values, but let's be consistent anyway and move the
ERRNO_IS_NOT_SUPPORTED() invocation to the branch where
the return value is known to be negative.

2 years agobootctl: cleanup use of ERRNO_IS_NOT_SUPPORTED()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
bootctl: cleanup use of ERRNO_IS_NOT_SUPPORTED()

Given that ERRNO_IS_NOT_SUPPORTED() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_NOT_SUPPORTED() is the
value returned by efi_loader_get_entries() which is not expected to
return any positive values, but let's be consistent anyway and move
the ERRNO_IS_NOT_SUPPORTED() invocation to the branch where
the return value is known to be negative.

2 years agovarlink: cleanup use of ERRNO_IS_DISCONNECT()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
varlink: cleanup use of ERRNO_IS_DISCONNECT()

Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_DISCONNECT() is the
value returned by varlink_connect_address() which is not expected to
return any positive values, but let's be consistent anyway and move
the ERRNO_IS_DISCONNECT() invocation to the branch where
the return value is known to be negative.

2 years agoresolved: cleanup use of ERRNO_IS_DISCONNECT()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
resolved: cleanup use of ERRNO_IS_DISCONNECT()

Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the argument passed to ERRNO_IS_DISCONNECT() is the value
returned by dns_transaction_emit_tcp() and dns_transaction_emit_udp()
which are not expected to return any positive values, but let's be
consistent anyway and move the ERRNO_IS_DISCONNECT() invocation
to the branch where the return value is known to be negative.

2 years agosocket: cleanup use of ERRNO_IS_DISCONNECT()
Dmitry V. Levin [Fri, 14 Jul 2023 08:00:00 +0000 (08:00 +0000)] 
socket: cleanup use of ERRNO_IS_DISCONNECT()

Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.

In this case the arguments passed to ERRNO_IS_DISCONNECT() are the
values returned by instance_from_socket(), socket_load_service_unit(),
and service_set_socket_fd() which are not expected to return any
positive values, but let's be consistent anyway and move
ERRNO_IS_DISCONNECT() invocations to the branches where the return
values are known to be negative.

2 years agocore: free the strings in the set as well during unit cleanup 28551/head
Frantisek Sumsal [Fri, 28 Jul 2023 10:24:32 +0000 (12:24 +0200)] 
core: free the strings in the set as well during unit cleanup

Spotted while fuzzing #27890.

=================================================================
==908098==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f4efe6d81f5 in __interceptor_realloc.part.0 (/lib64/libasan.so.8+0xd81f5) (BuildId: dc689b05ca2577037af24700212bb5cce1f91c8a)
    #1 0x7f4efb8e3ace in greedy_realloc ../src/basic/alloc-util.c:70
    #2 0x7f4efb93b713 in extract_first_word ../src/basic/extract-word.c:62
    #3 0x7f4efb970d50 in set_put_strsplit ../src/basic/hashmap.c:1902
    #4 0x7f4efd76c27e in exec_context_deserialize ../src/core/execute-serialize.c:3341
    #5 0x7f4efd778dcb in exec_deserialize ../src/core/execute-serialize.c:4122
    #6 0x4032c0 in LLVMFuzzerTestOneInput ../src/core/fuzz-execute-serialize.c:60
    #7 0x403c58 in main ../src/fuzz/fuzz-main.c:50
    #8 0x7f4efecccb49 in __libc_start_call_main (/lib64/libc.so.6+0x27b49) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #9 0x7f4efecccc0a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x27c0a) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #10 0x402344 in _start (/home/mrc0mmand/repos/@systemd/systemd/build-san/fuzz-execute-serialize+0x402344) (BuildId: 195f382cf1e39b9ba48d6dcf5a90f786d72837a8)

SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).
Aborted (core dumped)

==911550==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 17 byte(s) in 1 object(s) allocated from:
    #0 0x4df281 in strdup (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x4df281) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #1 0x7fe4ae2b38fc in _set_put_strndup_full /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/basic/hashmap.c:1868:21
    #2 0x7fe4b0bad897 in exec_context_deserialize /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/execute-serialize.c:3914:29
    #3 0x7fe4b0b80592 in exec_deserialize /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/execute-serialize.c:4109:13
    #4 0x531d0f in LLVMFuzzerTestOneInput /home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/../src/core/fuzz-execute-serialize.c:59:16
    #5 0x440594 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x440594) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #6 0x43f9b9 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x43f9b9) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #7 0x440fd5 in fuzzer::Fuzzer::MutateAndTestOne() (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x440fd5) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #8 0x441955 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, std::allocator<fuzzer::SizedFile>>&) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x441955) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #9 0x42e151 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x42e151) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #10 0x45a916 in main (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x45a916) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
    #11 0x7fe4ac449b49 in __libc_start_call_main (/lib64/libc.so.6+0x27b49) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #12 0x7fe4ac449c0a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x27c0a) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9)
    #13 0x422b74 in _start (/home/mrc0mmand/repos/@systemd/systemd/build-libfuzz/fuzz-execute-serialize+0x422b74) (BuildId: 4e58706e607b8be7972d83c421bc0b625d509ec6)
SUMMARY: AddressSanitizer: 17 byte(s) leaked in 1 allocation(s).

2 years agoCI: network - Add test for rp_filter 28391/head
Susant Sahani [Mon, 17 Jul 2023 10:00:43 +0000 (15:30 +0530)] 
CI: network - Add test for rp_filter

2 years agonetworkd: allow setting rp_filter for an interface
Susant Sahani [Thu, 13 Jul 2023 16:10:48 +0000 (21:40 +0530)] 
networkd: allow setting rp_filter for an interface

2 years agoMerge pull request #28335 from ssahani/dhcp4-route-option
Luca Boccassi [Fri, 28 Jul 2023 08:57:19 +0000 (09:57 +0100)] 
Merge pull request #28335 from ssahani/dhcp4-route-option

network: DHCP4 allow to set InitialCongestionWindow and InitialAdvert…

2 years agoMerge pull request #28360 from keszybz/pointingstick-accel-drop
Luca Boccassi [Fri, 28 Jul 2023 08:57:04 +0000 (09:57 +0100)] 
Merge pull request #28360 from keszybz/pointingstick-accel-drop

hwdb: drop POINTINGSTICK_CONST_ACCEL

2 years agoMerge pull request #28527 from medhefgo/boot-stack-guard
Luca Boccassi [Fri, 28 Jul 2023 08:56:41 +0000 (09:56 +0100)] 
Merge pull request #28527 from medhefgo/boot-stack-guard

boot: Fall back to using image load address for stack guard

2 years agoMerge pull request #28430 from keszybz/cleanups
Luca Boccassi [Fri, 28 Jul 2023 08:56:28 +0000 (09:56 +0100)] 
Merge pull request #28430 from keszybz/cleanups

Various small cleanups

2 years agoMerge pull request #28417 from bluca/coverity
Luca Boccassi [Fri, 28 Jul 2023 08:56:08 +0000 (09:56 +0100)] 
Merge pull request #28417 from bluca/coverity

Some coverity fixes

2 years agoMerge pull request #27621 from esposem/ukify_read
Luca Boccassi [Fri, 28 Jul 2023 08:55:03 +0000 (09:55 +0100)] 
Merge pull request #27621 from esposem/ukify_read

ukify: add an option to read the PE sections

2 years agoNEWS: finalize for v254 v254
Luca Boccassi [Fri, 28 Jul 2023 08:26:29 +0000 (09:26 +0100)] 
NEWS: finalize for v254

A release is never late, nor is it early, it arrives precisely when it
means to.

2 years agoNEWS: mention that fsck will be ran for systemd.mount-extra=
Luca Boccassi [Fri, 28 Jul 2023 08:25:25 +0000 (09:25 +0100)] 
NEWS: mention that fsck will be ran for systemd.mount-extra=

2 years agoNEWS: update contributors list
Luca Boccassi [Fri, 28 Jul 2023 08:23:32 +0000 (09:23 +0100)] 
NEWS: update contributors list

2 years agoMerge pull request #28543 from bluca/hwdb
Luca Boccassi [Fri, 28 Jul 2023 08:16:12 +0000 (09:16 +0100)] 
Merge pull request #28543 from bluca/hwdb

hwdb and NEWS updates

2 years agoMerge pull request #28544 from yuwata/fstab-generator-fsck
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jul 2023 06:49:40 +0000 (08:49 +0200)] 
Merge pull request #28544 from yuwata/fstab-generator-fsck

fstab-generator: enable fsck for block device mounts specified in sys…

2 years agoMerge pull request #28548 from yuwata/meson-confext
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jul 2023 06:46:27 +0000 (08:46 +0200)] 
Merge pull request #28548 from yuwata/meson-confext

meson: do not create dead systemd-confext symlink if sysext is disabled

2 years agomeson: do not create dead systemd-confext symlink if sysext is disabled 28548/head
Yu Watanabe [Fri, 28 Jul 2023 03:15:47 +0000 (12:15 +0900)] 
meson: do not create dead systemd-confext symlink if sysext is disabled

2 years agofstab-generator: enable fsck for block device mounts specified in systemd.mount-extra= 28544/head
Yu Watanabe [Thu, 27 Jul 2023 21:07:17 +0000 (06:07 +0900)] 
fstab-generator: enable fsck for block device mounts specified in systemd.mount-extra=

Like we do for root= or so.

Another possible option is adding support of fifth (sixth?) field in
systemd.mount-extra=. But that may be overkill, hence let's do that
later if someone request that.

Fixes fsck part of issue #28541.

2 years agoNEWS: mention agetty/login credentials 28543/head
Luca Boccassi [Thu, 27 Jul 2023 23:39:59 +0000 (00:39 +0100)] 
NEWS: mention agetty/login credentials

2 years agohwdb: run update-hwdb
Luca Boccassi [Thu, 27 Jul 2023 23:30:53 +0000 (00:30 +0100)] 
hwdb: run update-hwdb

git diff hwdb.d/*.hwdb looks sensible

2 years agotest: fix typo
Yu Watanabe [Thu, 27 Jul 2023 20:55:42 +0000 (05:55 +0900)] 
test: fix typo

2 years agonetwork/dhcp4: drop unused logic of finding default gateway 28508/head
Yu Watanabe [Mon, 24 Jul 2023 10:51:21 +0000 (19:51 +0900)] 
network/dhcp4: drop unused logic of finding default gateway

2 years agonetwork/dhcp4: always honor specified gateway address
Yu Watanabe [Mon, 24 Jul 2023 14:34:18 +0000 (23:34 +0900)] 
network/dhcp4: always honor specified gateway address

Follow-up for 77451f654a89d822cd288883edfac315949d1cb6.

Now, gateway for routes to DNS or NTP servers should be correctly picked,
hence it is not necessary to adjust the gateway address in
dhcp4_request_route_auto() again.

Also, similar for classless static routes, let's always honor
gateway address specified in (non-classless) static routes.