]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
16 months agoresolved: tests for dns_packet_extract(); parsing TXT records
James Coglan [Wed, 12 Jun 2024 12:27:52 +0000 (13:27 +0100)] 
resolved: tests for dns_packet_extract(); parsing TXT records

16 months agoresolved: tests for dns_packet_extract(); parsing OPT records
James Coglan [Tue, 11 Jun 2024 10:57:36 +0000 (11:57 +0100)] 
resolved: tests for dns_packet_extract(); parsing OPT records

These tests identify a couple of problems with OPT pseudo-RR parsing.

First, any TTL value with the high bit set is replaced with zero before
checking the record type. For most types this is correct, since TTLs
have the range of signed int32. But for OPT records where the TTL is
repurposed to hold the extended RCODE, EDNS version and flags, it means
that the high bit cannot be used in extended RCODEs. Any RCODE with the
high bit set will be read as zero.

Second, the DNS_PACKET_RCODE() function bit-shifts the extended RCODE by
24 places instead of 20, so that it ends up forming the lower 8 bits of
a 12-bit RCODE, instead of the upper 8 bits as intended.

We intend to fix these issues in other pull requests.

16 months agoresolved: tests for dns_packet_extract(); parsing NAPTR records
James Coglan [Tue, 11 Jun 2024 09:36:10 +0000 (10:36 +0100)] 
resolved: tests for dns_packet_extract(); parsing NAPTR records

16 months agoresolved: tests for dns_packet_extract(); parsing HINFO records
James Coglan [Tue, 11 Jun 2024 09:26:02 +0000 (10:26 +0100)] 
resolved: tests for dns_packet_extract(); parsing HINFO records

16 months agoresolved: tests for dns_packet_extract(); parsing SVCB and HTTPS records
James Coglan [Tue, 11 Jun 2024 08:32:24 +0000 (09:32 +0100)] 
resolved: tests for dns_packet_extract(); parsing SVCB and HTTPS records

16 months agoresolved: tests for dns_packet_extract(); parsing RRSIG records
James Coglan [Fri, 7 Jun 2024 14:42:31 +0000 (15:42 +0100)] 
resolved: tests for dns_packet_extract(); parsing RRSIG records

16 months agoresolved: tests for dns_packet_extract(); parsing SRV records
James Coglan [Fri, 7 Jun 2024 13:45:56 +0000 (14:45 +0100)] 
resolved: tests for dns_packet_extract(); parsing SRV records

16 months agoresolved: tests for dns_packet_extract(); handling ANY class/type in answers
James Coglan [Fri, 7 Jun 2024 08:56:40 +0000 (09:56 +0100)] 
resolved: tests for dns_packet_extract(); handling ANY class/type in answers

16 months agoresolved: tests for dns_packet_extract(); parsing SOA records
James Coglan [Fri, 7 Jun 2024 08:22:26 +0000 (09:22 +0100)] 
resolved: tests for dns_packet_extract(); parsing SOA records

16 months agoresolved: tests for dns_packet_extract(); parsing NS records
James Coglan [Fri, 7 Jun 2024 07:54:18 +0000 (08:54 +0100)] 
resolved: tests for dns_packet_extract(); parsing NS records

16 months agoresolved: tests for dns_packet_extract(); parsing A records
James Coglan [Fri, 7 Jun 2024 07:28:00 +0000 (08:28 +0100)] 
resolved: tests for dns_packet_extract(); parsing A records

16 months agoresolved: tests for dns_packet_extract(); check handling of self-referential compress...
James Coglan [Mon, 10 Jun 2024 13:46:55 +0000 (14:46 +0100)] 
resolved: tests for dns_packet_extract(); check handling of self-referential compression pointers

16 months agoresolved: tests for dns_packet_extract(); checking for malformed queries
James Coglan [Thu, 6 Jun 2024 14:46:43 +0000 (15:46 +0100)] 
resolved: tests for dns_packet_extract(); checking for malformed queries

16 months agoresolved: tests for dns_packet_extract(); A and CNAME answers with domain compression
James Coglan [Wed, 5 Jun 2024 15:24:13 +0000 (16:24 +0100)] 
resolved: tests for dns_packet_extract(); A and CNAME answers with domain compression

16 months agoresolved: tests for dns_packet_extract(); parsing of queries
James Coglan [Wed, 5 Jun 2024 14:31:05 +0000 (15:31 +0100)] 
resolved: tests for dns_packet_extract(); parsing of queries

16 months agoresolved: tests for parsing DNS packet headers
James Coglan [Wed, 5 Jun 2024 14:07:45 +0000 (15:07 +0100)] 
resolved: tests for parsing DNS packet headers

17 months agoupdate TODO
Lennart Poettering [Wed, 3 Jul 2024 08:55:13 +0000 (10:55 +0200)] 
update TODO

17 months agomkosi: update fedora commit reference
Daan De Meyer [Wed, 3 Jul 2024 06:21:31 +0000 (08:21 +0200)] 
mkosi: update fedora commit reference

f9fe17dbde Use vmlinux.h from kernel-devel
9cbad936a6 Pull in openssl-devel-engine
8ae009f929 Only add Requires on python3-zstd on Fedora
750e910c7c Drop BuildRequires on python3-zstd

17 months agomkosi: Don't touch the packaging checkout if work is being done
Daan De Meyer [Tue, 2 Jul 2024 20:27:01 +0000 (22:27 +0200)] 
mkosi: Don't touch the packaging checkout if work is being done

If work is being done in a separate branch, don't touch the packaging
checkout.

17 months agomeson: Define __TARGET_ARCH macros required by bpf
Daan De Meyer [Tue, 2 Jul 2024 15:50:57 +0000 (17:50 +0200)] 
meson: Define __TARGET_ARCH macros required by bpf

These are required by the bpf_tracing.h header in libbpf, see
https://github.com/libbpf/libbpf/blob/master/src/bpf_tracing.h.

bpf_tracing.h does have a few fallbacks in case __TARGET_ARCH_XXX
is not defined but recommends using the __TARGET_ARCH macros instead
so let's do that.

17 months agocoredump: correctly take tmpfs size into account for compression
Luca Boccassi [Tue, 2 Jul 2024 14:28:47 +0000 (15:28 +0100)] 
coredump: correctly take tmpfs size into account for compression

We calculate the amount of uncompressed data we can write by taking the limits
into account and halving it to ensure there's room for switching to compression
on the fly when storing cores on a tmpfs (eg: due read-only rootfs).

But the logic is flawed, as taking into account the size of the tmpfs storage
was applied after the halving, so in practice when an uncompressed core file
was larger than the tmpfs, we fill it and then fail.

Rearrange the logic so that the halving is done after taking into account
the tmpfs size.

17 months agodocs/CODING_STYLE: document that we nowadays prefer (const char*) for func ret type
Mike Yuan [Tue, 2 Jul 2024 17:20:01 +0000 (19:20 +0200)] 
docs/CODING_STYLE: document that we nowadays prefer (const char*) for func ret type

Addresses https://github.com/systemd/systemd/pull/33567#discussion_r1662818225

17 months agoMerge pull request #33577 from fbuihuu/testsuite-tweaks-for-v256-on-SUSE
Luca Boccassi [Tue, 2 Jul 2024 21:35:33 +0000 (23:35 +0200)] 
Merge pull request #33577 from fbuihuu/testsuite-tweaks-for-v256-on-SUSE

Testsuite tweaks for v256 on suse

17 months agoMerge pull request #33574 from poettering/get-efi-var-raw
Lennart Poettering [Tue, 2 Jul 2024 19:16:37 +0000 (21:16 +0200)] 
Merge pull request #33574 from poettering/get-efi-var-raw

efi: efi variable refactoring

17 months agotest: fix TEST-74-AUX-UTILS.ssh.sh on SUSE 33577/head
Franck Bui [Tue, 2 Jul 2024 16:55:17 +0000 (18:55 +0200)] 
test: fix TEST-74-AUX-UTILS.ssh.sh on SUSE

17 months agotest: preserve symlink in inst_recursive()
Franck Bui [Tue, 2 Jul 2024 13:20:18 +0000 (15:20 +0200)] 
test: preserve symlink in inst_recursive()

On SUSE this function is used to copy symlinks installed in *.wants/
directories.

17 months agotest: fix TEST-24-CRYPTSETUP on SUSE
Franck Bui [Tue, 2 Jul 2024 08:33:29 +0000 (10:33 +0200)] 
test: fix TEST-24-CRYPTSETUP on SUSE

/etc/systemd/journald.conf.d drop-in dir already exists on SUSE.

17 months agotest: install /etc/hosts
Franck Bui [Mon, 1 Jul 2024 16:06:45 +0000 (18:06 +0200)] 
test: install /etc/hosts

Needed for resolving the "localhost" hostname.

17 months agoefivars: rename efivar_get_uint_string() → efivar_get_uint64_str16() 33574/head
Lennart Poettering [Tue, 2 Jul 2024 16:09:55 +0000 (18:09 +0200)] 
efivars: rename efivar_get_uint_string() → efivar_get_uint64_str16()

Be explicit with the type, and more inline with our other code, that
likes to indicate the string char width in the name.

Also, switch to a fixed size type, since EFI variables should really be
binary exact the same on all archs.

17 months agoefi: rename efivar_(set|get)() → efivar_(set|get)_str16()
Lennart Poettering [Tue, 2 Jul 2024 16:07:35 +0000 (18:07 +0200)] 
efi: rename efivar_(set|get)() → efivar_(set|get)_str16()

These functions after all write EFI UTF-16 strings, i.e. are relatively
high-level, hence give them a specific name indicating the type, to
match our other helpers that have similar type suffixes.

17 months agoefivars: use appropropriate uint8_t type when dealing with "raw" bytes
Lennart Poettering [Tue, 2 Jul 2024 15:50:47 +0000 (17:50 +0200)] 
efivars: use appropropriate uint8_t type when dealing with "raw" bytes

We don't actually want chars here, but rather raw bytes, in particular
to avoid signedness issues. Hence, let's use uint8_t here.

17 months agoefivars: change return parameter of efivar_get_raw() to be void**
Lennart Poettering [Tue, 2 Jul 2024 15:49:52 +0000 (17:49 +0200)] 
efivars: change return parameter of efivar_get_raw() to be void**

This is the "raw", untyped version after all, hence we should return a
void pointer, and let the client cast, if they know more.

Replaces: #30812

17 months agoefi: split out efivars.[ch] from util.[ch]
Lennart Poettering [Tue, 2 Jul 2024 15:44:24 +0000 (17:44 +0200)] 
efi: split out efivars.[ch] from util.[ch]

These are quite a bunch of functions, let's give them their own file.

No code changes, just some trivial refactoring.

17 months agomkosi: Install perf
Daan De Meyer [Tue, 2 Jul 2024 13:46:09 +0000 (15:46 +0200)] 
mkosi: Install perf

It's already installed on ubuntu via linux-tools-common.

17 months agoupdate TODO
Lennart Poettering [Tue, 2 Jul 2024 13:59:00 +0000 (15:59 +0200)] 
update TODO

17 months agotest: split the resolved test suite into separate test cases
Daniel Rusek [Thu, 6 Jun 2024 21:44:38 +0000 (23:44 +0200)] 
test: split the resolved test suite into separate test cases

Although being far from ideal and the first two test cases have to be run
before the setup phase otherwise they will fail, it still makes the test
suite look much better and easier to read

17 months agoMerge pull request #33496 from YHNdnzj/fd-is-mount-symlink
Luca Boccassi [Tue, 2 Jul 2024 08:07:20 +0000 (10:07 +0200)] 
Merge pull request #33496 from YHNdnzj/fd-is-mount-symlink

mountpoint-util: do not assume symlinks are not mountpoints

17 months agoMerge pull request #33560 from YHNdnzj/trivial-cleanup-2
Luca Boccassi [Tue, 2 Jul 2024 08:05:49 +0000 (10:05 +0200)] 
Merge pull request #33560 from YHNdnzj/trivial-cleanup-2

2 trivial follow-ups for recent PRs

17 months agoMerge pull request #33523 from neighbourhoodie/fix/dns-opt-extended-rcode
Luca Boccassi [Mon, 1 Jul 2024 23:48:40 +0000 (01:48 +0200)] 
Merge pull request #33523 from neighbourhoodie/fix/dns-opt-extended-rcode

Fix DNS OPT extended rcode parsing

17 months agobuild(deps): bump github/codeql-action from 3.24.7 to 3.25.11
dependabot[bot] [Mon, 1 Jul 2024 11:19:36 +0000 (11:19 +0000)] 
build(deps): bump github/codeql-action from 3.24.7 to 3.25.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.7 to 3.25.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/3ab4101902695724f9365a384f86c1074d94e18c...b611370bb5703a7efb587f9d136a52ea24c5c38c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
17 months agomkosi: update debian commit reference
Luca Boccassi [Mon, 1 Jul 2024 14:49:55 +0000 (15:49 +0100)] 
mkosi: update debian commit reference

abf24e775c Add recommends on linux-sysctl-defaults
76cb4138d2 autopkgtest: skip qemu tests on arm64
0935d73526 Install new systemd-import generator

17 months agoshared/condition: add missing space after 'if' 33560/head
Mike Yuan [Mon, 1 Jul 2024 17:13:58 +0000 (19:13 +0200)] 
shared/condition: add missing space after 'if'

Follow-up for 98b1ecc9175a8bb241292f6f441a754b6759dd97

17 months agoshared/mount-util: return early if param is NULL
Mike Yuan [Mon, 1 Jul 2024 16:59:28 +0000 (18:59 +0200)] 
shared/mount-util: return early if param is NULL

To make things more readable and consistent.

17 months agoMerge pull request #33475 from poettering/name-to-handle-at-fid
Lennart Poettering [Mon, 1 Jul 2024 16:53:14 +0000 (18:53 +0200)] 
Merge pull request #33475 from poettering/name-to-handle-at-fid

teach inode_same() the concept of name_to_handle_at() FIDs to properly detect inode identities

17 months agomkfs-util: Simplify logic
Daan De Meyer [Mon, 1 Jul 2024 12:25:20 +0000 (14:25 +0200)] 
mkfs-util: Simplify logic

17 months agounits: add dep on systemd-logind.service by user@.service
Lennart Poettering [Mon, 1 Jul 2024 10:40:33 +0000 (12:40 +0200)] 
units: add dep on systemd-logind.service by user@.service

Let's make sure logind is accessible by the time user@.service runs, and
that logind stays around as long as it does so.

Addresses an issue reported here:

https://lists.freedesktop.org/archives/systemd-devel/2024-June/050468.html

This addresses an issued introduced by
278e815bfa3e4c2e3914e00121c37fc844cb2025, which dropped the a dependency
from user@.service systemd-user-sessions.service without replacement.
While dropping that dependency does make sense, it should have been
replaced with the weaker dependency on systemd-logind.service, hence fix
that now.

user@.service is after all a logind concept, hence logind really should
be around for its lifetime.

systemd-user-sessions.service is a later milestone that only really
should apply to regular users (not root), hence it's too strong a
requirement.

17 months agoUse read_full_file_full() in read_smbios11_field()
Daan De Meyer [Fri, 28 Jun 2024 18:12:51 +0000 (20:12 +0200)] 
Use read_full_file_full() in read_smbios11_field()

read_virtual_file() will only read up to page size bytes of data
from /sys/firmware/dmi/entries/.../raw so let's use read_full_file_full()
instead to make sure we read all data.

This should be safe since smbios11 data can be considered immutable
during the lifetime of the system.

17 months agoMerge pull request #33553 from poettering/list-devices
Lennart Poettering [Mon, 1 Jul 2024 16:51:54 +0000 (18:51 +0200)] 
Merge pull request #33553 from poettering/list-devices

add --list-devices switch to various tools that accept block devices to list candidate devices

17 months agostoragetm: add --list-devices command 33553/head
Lennart Poettering [Mon, 1 Jul 2024 09:55:52 +0000 (11:55 +0200)] 
storagetm: add --list-devices command

17 months agorepart: add --list-devices switch for listing candidate block devices
Lennart Poettering [Mon, 1 Jul 2024 09:54:21 +0000 (11:54 +0200)] 
repart: add --list-devices switch for listing candidate block devices

17 months agocryptenroll: add --list-devices switch that shows candidate block devices
Lennart Poettering [Mon, 1 Jul 2024 09:51:14 +0000 (11:51 +0200)] 
cryptenroll: add --list-devices switch that shows candidate block devices

17 months agoutil: add generic block device listener helper
Lennart Poettering [Mon, 1 Jul 2024 09:45:12 +0000 (11:45 +0200)] 
util: add generic block device listener helper

Various of our tools operate on block devices, and it's not always
obvious to know which block devices are actually appropriate for use.
Hence, let's add a helper that allows to list block devices, and
supports some limited filtering.

17 months agoblockdev-util: add partscan check function that takes an sd_device*
Lennart Poettering [Mon, 1 Jul 2024 09:44:26 +0000 (11:44 +0200)] 
blockdev-util: add partscan check function that takes an sd_device*

17 months agorepart: add sections to --help text
Lennart Poettering [Mon, 1 Jul 2024 08:25:38 +0000 (10:25 +0200)] 
repart: add sections to --help text

17 months agotest: beef up test case for fid-based equality checks 33475/head
Lennart Poettering [Tue, 25 Jun 2024 11:03:55 +0000 (13:03 +0200)] 
test: beef up test case for fid-based equality checks

17 months agostat-util: port inode_same_at() to use FID file handle data to determine inode identity
Lennart Poettering [Tue, 25 Jun 2024 10:46:52 +0000 (12:46 +0200)] 
stat-util: port inode_same_at() to use FID file handle data to determine inode identity

Let's be good boys, and use FID for this.

17 months agomountpoint-util: clarify that EOVERFLOW is visible on nfs4/autofs mounts
Lennart Poettering [Tue, 25 Jun 2024 10:46:19 +0000 (12:46 +0200)] 
mountpoint-util: clarify that EOVERFLOW is visible on nfs4/autofs mounts

17 months agomountpoint-util: use the FID stuff for detecting the root of mounts
Lennart Poettering [Tue, 25 Jun 2024 10:44:19 +0000 (12:44 +0200)] 
mountpoint-util: use the FID stuff for detecting the root of mounts

In the unlikely event that sandboxes block statx() but let
name_to_handle_at() through it's a good way to determine the root inode
of the namespace, since its parent inode will have the same FID and
mnt_id.

17 months agomountpoint-util: add new helper name_to_handle_at_try_fid()
Lennart Poettering [Tue, 25 Jun 2024 10:41:03 +0000 (12:41 +0200)] 
mountpoint-util: add new helper name_to_handle_at_try_fid()

Newer kernels support a new flag for name_to_handle_at(): AT_HANDLE_FID.
This flag is supposed to return an identifier for an inode that we can
use for checking inode identity. It's supposed to be a replacement for
checking .st_ino which doesn't work anymore today because inode numbers
are no longer unique on file systems (not on overlayfs, and not on btrfs
for example). Hence, be a good citizen and add infrastructure to support
AT_HANDLE_FID. Unfortunately that doesn't work for old kernels, hence
add a fallback logic: if we can use the flag, use it. If we cannot use
name_to_handle_at() without it, which might give us a good ID too. But
of course tha tcan fail as well, which callers have to check.

17 months agomountpoint-util: use ERRNO_IS_xyz() at more places
Lennart Poettering [Tue, 25 Jun 2024 10:39:55 +0000 (12:39 +0200)] 
mountpoint-util: use ERRNO_IS_xyz() at more places

17 months agomountpoint-util: add public helper for comparing file handles
Lennart Poettering [Tue, 25 Jun 2024 10:37:32 +0000 (12:37 +0200)] 
mountpoint-util: add public helper for comparing file handles

We already have the code, let's move it to a function of its own and
export it.

17 months agomountpoint-util: make is_name_to_handle_at_fatal_error() an exported API
Lennart Poettering [Tue, 25 Jun 2024 10:35:29 +0000 (12:35 +0200)] 
mountpoint-util: make is_name_to_handle_at_fatal_error() an exported API

And while we are at it, make it use ERRNO_IS_xyz() where appropriate.

And move it up a bit, so we can use in the whole of mountpoint-util.c
(which we want to later).

17 months agobuild(deps): bump actions/checkout from 4.1.6 to 4.1.7
dependabot[bot] [Mon, 1 Jul 2024 09:49:46 +0000 (09:49 +0000)] 
build(deps): bump actions/checkout from 4.1.6 to 4.1.7

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
17 months ago Conditional PSI check to reflect changes done in 5.13
rhellstrom [Thu, 27 Jun 2024 08:00:00 +0000 (11:00 +0300)] 
Conditional PSI check to reflect changes done in 5.13

cpu.pressure 'full' is undefined for system-wide checks since 5.13 but still reported with values set to 0 for backwards compatibility. Made changes to reflect this for system-wide checks so that the conditional comparison is not made against the 0 value and instead fall back to 'some'.

https://www.kernel.org/doc/html/latest/accounting/psi.html

17 months agocore: try again bind mounting if the destination was already created
Luca Boccassi [Sat, 29 Jun 2024 17:31:23 +0000 (18:31 +0100)] 
core: try again bind mounting if the destination was already created

If the destination mount point is on a shared filesystem and is
missing on the first attempt, we try to create it, but then
fail with -EEXIST if something else created it in the meanwhile.
Enter the retry logic on EEXIST, as we can just use the mount
point if it was already created.

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

17 months agoMerge pull request #33544 from DaanDeMeyer/sector-size
Luca Boccassi [Sat, 29 Jun 2024 19:31:04 +0000 (21:31 +0200)] 
Merge pull request #33544 from DaanDeMeyer/sector-size

repart: Two sector size improvements

17 months agoNEWS: fix typo
Mike Yuan [Sat, 29 Jun 2024 14:48:18 +0000 (16:48 +0200)] 
NEWS: fix typo

17 months agoNEWS: nscd has been dropped for good
Mike Yuan [Sat, 29 Jun 2024 14:35:26 +0000 (16:35 +0200)] 
NEWS: nscd has been dropped for good

Follow-up for 28f1f1a5e652508d6e61ace8918e8b831e4b62b4

17 months agoMerge pull request #33258 from YHNdnzj/cg-runtime-accounting
Mike Yuan [Sat, 29 Jun 2024 14:11:44 +0000 (16:11 +0200)] 
Merge pull request #33258 from YHNdnzj/cg-runtime-accounting

core/cgroup: various fixes for accounting

17 months agomkfs-util: Set sector size for btrfs as well 33544/head
Daan De Meyer [Sat, 29 Jun 2024 13:27:02 +0000 (15:27 +0200)] 
mkfs-util: Set sector size for btrfs as well

btrfs used to default the sector size to the page size and didn't
support anything else. Since 6.7, it defaults to 4K and using 4K
makes the filesystem compatible with all page sizes. So let's make
sure we use minimum 4K as well (lower causes failures on systems with
a 4K page size) but still allow larger sector sizes if specified by
the user.

17 months agorepart: Don't set filesystem sector size to 512
Daan De Meyer [Sat, 29 Jun 2024 13:36:28 +0000 (15:36 +0200)] 
repart: Don't set filesystem sector size to 512

We want to use 4K as the default sector size for filesystems so they
don't have to be regenerated to work on 512, 2048 or 4096 sector sizes.

17 months agoAdded mised EVDEV_ABS_35 & EVDEV_ABS_36 for GAOMON s620
DocNITE [Fri, 28 Jun 2024 15:47:15 +0000 (18:47 +0300)] 
Added mised EVDEV_ABS_35 & EVDEV_ABS_36 for GAOMON s620

17 months agoMerge pull request #30360 from keszybz/nscd-drop
Luca Boccassi [Sat, 29 Jun 2024 08:36:16 +0000 (10:36 +0200)] 
Merge pull request #30360 from keszybz/nscd-drop

Drop support for nscd

17 months agoMerge pull request #33536 from teknoraver/hashmap_ensure_replace
Luca Boccassi [Sat, 29 Jun 2024 08:31:11 +0000 (10:31 +0200)] 
Merge pull request #33536 from teknoraver/hashmap_ensure_replace

Hashmap ensure replace

17 months agorepart: Log more about filesystem sector size
Daan De Meyer [Fri, 28 Jun 2024 17:36:50 +0000 (19:36 +0200)] 
repart: Log more about filesystem sector size

17 months agoMerge pull request #33518 from DaanDeMeyer/aarch64
Luca Boccassi [Sat, 29 Jun 2024 00:09:21 +0000 (02:09 +0200)] 
Merge pull request #33518 from DaanDeMeyer/aarch64

Various integration test fixes

17 months agocore/unit: follow merged units before updating SourcePath= timestamp too
Mike Yuan [Fri, 28 Jun 2024 13:32:33 +0000 (15:32 +0200)] 
core/unit: follow merged units before updating SourcePath= timestamp too

Currently, we only follow merged units for unit_load_dropin() call.
But if the unit is an alias, we should always perform operations
on the "canonical" unit.

17 months agoUse hashmap_ensure_replace() 33536/head
Matteo Croce [Fri, 28 Jun 2024 15:19:26 +0000 (17:19 +0200)] 
Use hashmap_ensure_replace()

Use the new function `hashmap_ensure_replace()` where we're using
`hashmap_ensure_allocated()` and `hashmap_ensure_replace()`.

Signed-off-by: Matteo Croce <teknoraver@meta.com>
17 months agoMerge pull request #33517 from keszybz/a-few-unrelated-cleanups
Luca Boccassi [Fri, 28 Jun 2024 17:06:31 +0000 (19:06 +0200)] 
Merge pull request #33517 from keszybz/a-few-unrelated-cleanups

A few unrelated cleanups

17 months agointroduce hashmap_ensure_replace()
Matteo Croce [Fri, 28 Jun 2024 14:16:50 +0000 (16:16 +0200)] 
introduce hashmap_ensure_replace()

Similar to hashmap_ensure_put(), but replace existing items in the map,
as hashmap_replace().

17 months agomeson: use less verbose quoting 30360/head
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2024 16:52:59 +0000 (18:52 +0200)] 
meson: use less verbose quoting

17 months agoDrop support for nscd
Zbigniew Jędrzejewski-Szmek [Tue, 11 Jul 2023 21:43:27 +0000 (23:43 +0200)] 
Drop support for nscd

nscd is known to be racy [1] and it was already deprecated and later dropped in
Fedora a while back [1,2]. We don't need to support obsolete stuff in systemd,
and the cache in systemd-resolved provides a better solution anyway.

We announced the plan to drop nscd in d44934f3785ad9ca4aab757beb80a9b11ba4bc04.

[1] https://fedoraproject.org/wiki/Changes/DeprecateNSCD
[2] https://fedoraproject.org/wiki/Changes/RemoveNSCD

The option is kept as a stub without any effect to make the transition easier.

17 months agoMerge pull request #33202 from bluca/extension_dedup
Luca Boccassi [Fri, 28 Jun 2024 16:25:36 +0000 (18:25 +0200)] 
Merge pull request #33202 from bluca/extension_dedup

core: deduplicate identical dm-verity ExtensionImages=

17 months agoTEST-54-CREDS: Use UEFI firmware if available 33518/head
Daan De Meyer [Fri, 28 Jun 2024 14:22:15 +0000 (16:22 +0200)] 
TEST-54-CREDS: Use UEFI firmware if available

On aarch64, SMBIOS is only available when using UEFI, so let's make
sure that the creds test uses UEFI when available so that it can
read creds from SMBIOS when running in a virtual machine.

17 months agoTEST-18-FAILUREACTION: Set auto firmware
Daan De Meyer [Fri, 28 Jun 2024 14:21:51 +0000 (16:21 +0200)] 
TEST-18-FAILUREACTION: Set auto firmware

This test runs in nspawn by default but will still run in qemu when
tests are run unprivileged so make sure we use UEFI if available to
avoid hangs when using the linux firmware.

17 months agoTEST-09-REBOOT: Set auto firmware
Daan De Meyer [Fri, 28 Jun 2024 14:19:38 +0000 (16:19 +0200)] 
TEST-09-REBOOT: Set auto firmware

This test runs in nspawn by default but will still run in qemu when
tests are run unprivileged so make sure we use UEFI if available to
avoid hangs when using the linux firmware.

17 months agoTEST-06-SELINUX: Explicitly pull in autorelabel.service
Daan De Meyer [Fri, 28 Jun 2024 13:50:35 +0000 (15:50 +0200)] 
TEST-06-SELINUX: Explicitly pull in autorelabel.service

17 months agoTEST-70-TPM2: Use UEFI firmware if available
Daan De Meyer [Fri, 28 Jun 2024 13:28:16 +0000 (15:28 +0200)] 
TEST-70-TPM2: Use UEFI firmware if available

On x86 this doesn't matter but on aarch64 we need to make sure UEFI
is used so that /sys/kernel/security/tpm0/binary_bios_measurements
is there which is required for TEST-70-TPM2.

17 months agocore: do not set up cgroup runtime on coldplug 33258/head
Mike Yuan [Wed, 5 Jun 2024 18:45:12 +0000 (20:45 +0200)] 
core: do not set up cgroup runtime on coldplug

Currently, unit_setup_cgroup_runtime() is called in
various _coldplug() functions if the unit is not inactive.
That seems unnecessary though, and kinda defeats the purpose
of CGroupRuntime. If we need to fork off a process for the unit
or got something during deserialization, the CGroupRuntime
would be automatically set up by unit_prepare_exec() /
cgroup_runtime_deserialize_one(). Otherwise it would mean
the cgroup doesn't exist and we don't need to allocate
that in the first place.

Plus, note that socket units might also carry a cgroup with
ExecStartPre=/ExecStartPost=/... Hence the existing code
is really inconsistent.

17 months agocore: cast ignored retval of unit_realize_cgroup to void
Mike Yuan [Wed, 5 Jun 2024 18:41:27 +0000 (20:41 +0200)] 
core: cast ignored retval of unit_realize_cgroup to void

17 months agocore: do not drop CGroupRuntime when unit stops, but only on GC
Mike Yuan [Wed, 5 Jun 2024 18:06:46 +0000 (20:06 +0200)] 
core: do not drop CGroupRuntime when unit stops, but only on GC

Fixes #33149
Replaces #33145

17 months agocore/cgroup: drop spurious ", ignoring" for unit_cgroup_is_empty
Mike Yuan [Wed, 5 Jun 2024 18:06:13 +0000 (20:06 +0200)] 
core/cgroup: drop spurious ", ignoring" for unit_cgroup_is_empty

17 months agocore/cgroup: actually make use of the cached accounting values
Mike Yuan [Thu, 13 Jun 2024 09:01:03 +0000 (11:01 +0200)] 
core/cgroup: actually make use of the cached accounting values

If cgroup is already gone, i.e. CGRuntime.cgroup_path is NULL,
do not return -ENODATA prematurely, but check for cached values
first.

For #33149

17 months agocore/cgroup: check root cgroup earlier for unit_get_memory_accounting
Mike Yuan [Thu, 13 Jun 2024 09:00:26 +0000 (11:00 +0200)] 
core/cgroup: check root cgroup earlier for unit_get_memory_accounting

17 months agocore: unify reset_accounting handling
Mike Yuan [Sat, 1 Jun 2024 23:50:09 +0000 (07:50 +0800)] 
core: unify reset_accounting handling

Since the introduction of CGroupRuntime, there's no need
to call *_reset_accounting in unit_new(), hence make those
static. While at it, refrain from hardcoding default values
in cgroup_runtime_new(), but call the corresponding funcs.

This also corrects the default value of io_accounting_base.

Fixes #33482

17 months agocore/cgroup: call bpf_firewall_close in cgroup_runtime_free
Mike Yuan [Wed, 19 Jun 2024 19:07:07 +0000 (21:07 +0200)] 
core/cgroup: call bpf_firewall_close in cgroup_runtime_free

No functional change, just deduplicate default values
in cgroup_runtime_free() and remove pointless call in
unit_free() (at the time it's called the CGRuntime has
been destroyed already).

17 months agocore/cgroup: make unit_has_host_root_cgroup take const Unit*
Mike Yuan [Sat, 15 Jun 2024 11:15:08 +0000 (13:15 +0200)] 
core/cgroup: make unit_has_host_root_cgroup take const Unit*

17 months agocore/cgroup: check CGroupRuntime.cgroup_path rather than _realized for freezer
Mike Yuan [Wed, 5 Jun 2024 17:23:40 +0000 (19:23 +0200)] 
core/cgroup: check CGroupRuntime.cgroup_path rather than _realized for freezer

The same check is used everywhere else.

17 months agocore/cgroup: use > 0 comparison rather than == 1
Mike Yuan [Sat, 1 Jun 2024 22:37:08 +0000 (06:37 +0800)] 
core/cgroup: use > 0 comparison rather than == 1

17 months agocore/cgroup: correct macro alignment
Mike Yuan [Wed, 5 Jun 2024 17:22:11 +0000 (19:22 +0200)] 
core/cgroup: correct macro alignment