platform/upstream/systemd.git
11 months agocore: serialize and deserialize auto start/stop ratelimit
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2023 16:53:00 +0000 (17:53 +0100)]
core: serialize and deserialize auto start/stop ratelimit

The limit is not configurable, so the logic in the helper will always update
the counters. The helper is a bit overkill, but it doesn't really matter.

11 months agocore: serialize and deserialize unit start ratelimits
Zbigniew Jędrzejewski-Szmek [Wed, 15 Nov 2023 16:23:27 +0000 (17:23 +0100)]
core: serialize and deserialize unit start ratelimits

The logic is taken from dump ratelimit: if the config changes, we discard the
counters. This allows the user apply new limits and "start from scratch" in
that case.

This actually makes StartLimitIntervalSec=infinity (or with a large interval)
work as expected, because the counter is maintained even if daemon-reload
operations are interleaved.

11 months agocore: split out the helper to serialize/deserialize ratelimits
Zbigniew Jędrzejewski-Szmek [Wed, 15 Nov 2023 16:17:12 +0000 (17:17 +0100)]
core: split out the helper to serialize/deserialize ratelimits

11 months agoman: document StartLimitIntervalSec=infinity
Zbigniew Jędrzejewski-Szmek [Tue, 14 Nov 2023 17:31:30 +0000 (18:31 +0100)]
man: document StartLimitIntervalSec=infinity

This seems to work as expected. In the issue, doubts were raised whether it
works fine with daemon-reload/daemon-reexec, and it seems to work fine.
(The property cannot be set via set-property, the dbus property is 'const'.
We could relax this, but that'd be a separate feature.)

Closes #29574.

11 months agoNEWS: adjust indentation
Zbigniew Jędrzejewski-Szmek [Wed, 15 Nov 2023 13:52:36 +0000 (14:52 +0100)]
NEWS: adjust indentation

A non-breaking space is used between "PCR" and the number. I did
search&replace on the whole file, so that when people select&paste
later, they are more likely to use the same format.

11 months agoboot: measure config first, only then parse
Lennart Poettering [Wed, 15 Nov 2023 11:11:08 +0000 (12:11 +0100)]
boot: measure config first, only then parse

Fixes: #30026

11 months agofuzz: don't panic without a C++ compiler
Frantisek Sumsal [Wed, 15 Nov 2023 10:41:45 +0000 (11:41 +0100)]
fuzz: don't panic without a C++ compiler

meson's `cpp_args` option is defined only if it detects a C++ compiler,
otherwise we get an error:

../test/fuzz/meson.build:56:28: ERROR: Tried to access unknown option 'cpp_args'.

11 months agoNEWS fixes
Lennart Poettering [Wed, 15 Nov 2023 10:52:27 +0000 (11:52 +0100)]
NEWS fixes

11 months agoMerge pull request #30028 from yuwata/duid-fix-size
Luca Boccassi [Wed, 15 Nov 2023 09:49:46 +0000 (09:49 +0000)]
Merge pull request #30028 from yuwata/duid-fix-size

dhcp: fix DUID size

11 months agosd-dhcp6-client: fix DUID data length passed to hexmem()
Yu Watanabe [Wed, 15 Nov 2023 04:46:31 +0000 (13:46 +0900)]
sd-dhcp6-client: fix DUID data length passed to hexmem()

Fixes a bug introduced by 6b7d5b6eaf9029b88771ae0ba3cf3c95adb3c24d.

11 months agodhcp: fix maximum DUID size
Yu Watanabe [Wed, 15 Nov 2023 04:26:57 +0000 (13:26 +0900)]
dhcp: fix maximum DUID size

This effectively reverts 92914960113b9ed21570f4329e2b2b2bf3e84629.

This fixes the maximum length of DUID.
See RFC 8415 section 11.1.

11 months agodhcp: drop unused prototype
Yu Watanabe [Tue, 14 Nov 2023 08:00:34 +0000 (17:00 +0900)]
dhcp: drop unused prototype

Follow-up for 53488ea352b658e37eef06f958c3f8ca062a64d9.

11 months agoMerge pull request #30027 from bluca/news
Yu Watanabe [Wed, 15 Nov 2023 01:17:19 +0000 (10:17 +0900)]
Merge pull request #30027 from bluca/news

Update syscalls/hwdb/po

11 months agoUpdate po files
Luca Boccassi [Tue, 14 Nov 2023 21:26:10 +0000 (21:26 +0000)]
Update po files

These are all newline breaks, but some meson tool changed at some
point that causes all of these changes to happen, and they have
started to appear when Weblate sends translations update, making
them very hard to review as they are mostly adding these breaks.
Update all files once and for all so that new translations PRs are
easier to review.

11 months agoUpdate hwdb
Luca Boccassi [Tue, 14 Nov 2023 21:20:45 +0000 (21:20 +0000)]
Update hwdb

11 months agohwdb: PNP/ACPI lists on uefi.org are now in CSV format
Luca Boccassi [Tue, 14 Nov 2023 20:46:12 +0000 (20:46 +0000)]
hwdb: PNP/ACPI lists on uefi.org are now in CSV format

Adjust the parsing as it's no longer HTML files. Some IDs end with
whitespace, without being quoted, which seems like a mistake as they
weren't before, so strip the ID columns before applying them.

11 months agodocs/RELEASE.md: retain systemd.io in IRC topic update
Luca Boccassi [Tue, 14 Nov 2023 20:18:50 +0000 (20:18 +0000)]
docs/RELEASE.md: retain systemd.io in IRC topic update

11 months agoUpdate syscalls list
Luca Boccassi [Tue, 14 Nov 2023 20:17:48 +0000 (20:17 +0000)]
Update syscalls list

11 months agoNEWS: update contributors list
Luca Boccassi [Tue, 14 Nov 2023 20:11:56 +0000 (20:11 +0000)]
NEWS: update contributors list

11 months agoNEWS: update for latest features
Luca Boccassi [Tue, 14 Nov 2023 20:11:01 +0000 (20:11 +0000)]
NEWS: update for latest features

11 months agoMerge pull request #30023 from mrc0mmand/selinux
Luca Boccassi [Tue, 14 Nov 2023 19:04:35 +0000 (19:04 +0000)]
Merge pull request #30023 from mrc0mmand/selinux

test: make TEST-06-SELINUX work with the refpolicy and beef it up a bit

11 months agotest: make TEST-06-SELINUX work with the refpolicy and beef it up a bit
Frantisek Sumsal [Tue, 14 Nov 2023 11:53:51 +0000 (12:53 +0100)]
test: make TEST-06-SELINUX work with the refpolicy and beef it up a bit

Currently the test works only with policy shipped by Fedora, which makes
it pretty much useless in most of our CIs. Let's drop the custom module
and make the test more generic, so it works with the refpolicy as well,
which should allow us to run it on Arch and probably even in Ubuntu CI.

11 months agoMerge pull request #29930 from yuwata/meson-default-network-fix-install-path
Zbigniew Jędrzejewski-Szmek [Tue, 14 Nov 2023 16:33:42 +0000 (17:33 +0100)]
Merge pull request #29930 from yuwata/meson-default-network-fix-install-path

meson: fix install path of example .network files

11 months agoMerge pull request #29928 from yuwata/meson-default-network
Zbigniew Jędrzejewski-Szmek [Tue, 14 Nov 2023 16:33:03 +0000 (17:33 +0100)]
Merge pull request #29928 from yuwata/meson-default-network

meson: follow-ups for -Ddefault-network=

11 months agotest: switch SELinux to permissive in the config file
Frantisek Sumsal [Tue, 14 Nov 2023 09:52:24 +0000 (10:52 +0100)]
test: switch SELinux to permissive in the config file

The config file has (unfortunately) precedence over the kernel command
line, so let's tweak the config file if necessary.

11 months agodoc: some trivial cleanups to MEMORY_PRESSURE.md
Vito Caputo [Tue, 14 Nov 2023 08:48:00 +0000 (00:48 -0800)]
doc: some trivial cleanups to MEMORY_PRESSURE.md

11 months agostoragetm: use path to device node instead of devpath
Yu Watanabe [Tue, 14 Nov 2023 02:58:22 +0000 (11:58 +0900)]
storagetm: use path to device node instead of devpath

To make the generated IDs equivalent when
- sd_device object is not provided,
- sd_device object is provided, but it does not have ID_SERIAL.

Follow-up for abc19a6ffaa94893ffc40cc000e5bb4437f67656.

This also fixes missing voidification.

Fixes CID#1524253.

11 months agoselinux: fix loading policy at early boot
Luca Boccassi [Mon, 13 Nov 2023 19:26:33 +0000 (19:26 +0000)]
selinux: fix loading policy at early boot

First, check for the cached enabled/disabled, as that's what all the
label functions used to do. Then, if initialization is not done yet,
do not cause the label functions to bail out, as it's expected to
happen at early boot.

Among other things, fixes:

systemd[1]: Failed to compute init label, ignoring.

Follow-up for: 0617da2edb91669a

11 months agoMerge pull request #30007 from YHNdnzj/memory-attr-followup
Luca Boccassi [Mon, 13 Nov 2023 21:12:06 +0000 (21:12 +0000)]
Merge pull request #30007 from YHNdnzj/memory-attr-followup

core: generalize memory accounting attribute handling

11 months agoMerge pull request #30018 from mrc0mmand/TEST-70
Luca Boccassi [Mon, 13 Nov 2023 20:58:43 +0000 (20:58 +0000)]
Merge pull request #30018 from mrc0mmand/TEST-70

test: skip --tpm2-device-key= tests with older OpenSSL

11 months agotree-wide: unify OpenSSL spelling in log messages
Frantisek Sumsal [Mon, 13 Nov 2023 19:47:17 +0000 (20:47 +0100)]
tree-wide: unify OpenSSL spelling in log messages

Seeing three different spellings of OpenSSL in one log file triggers
some inner OCD I didn't even know I have.

11 months agotest: skip --tpm2-device-key= tests with older OpenSSL
Frantisek Sumsal [Mon, 13 Nov 2023 19:35:29 +0000 (20:35 +0100)]
test: skip --tpm2-device-key= tests with older OpenSSL

--tpm2-device-key= requires OpenSSL >= 3 with KDF-SS, so let's skip the
test if we're running with older OpenSSL.

+ systemd-cryptenroll --tpm2-device-key=/tmp/srk.pub --tpm2-pcrs=12:sha256=F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B /tmp/systemd-cryptsetup-H8y.IMAGE
Failed to find TPM2 pcrlock policy file 'pcrlock.json': No such file or directory
Allocating context for crypt device /tmp/systemd-cryptsetup-H8y.IMAGE.
Trying to open and read device /tmp/systemd-cryptsetup-H8y.IMAGE with direct-io.
Trying to open device /tmp/systemd-cryptsetup-H8y.IMAGE without direct-io.
Initialising device-mapper backend library.
Trying to load LUKS2 crypt type from device /tmp/systemd-cryptsetup-H8y.IMAGE.
Crypto backend (OpenSSL 1.1.1k  FIPS 25 Mar 2021) initialized in cryptsetup library version 2.3.7.
Detected kernel Linux 4.18.0-521.el8.ppc64le ppc64le.
...
Failed to find TPM PCR public key file 'tpm2-pcr-public-key.pem': No such file or directory
Failed to read TPM2 PCR public key, proceeding without: No such file or directory
Can't find symbol Esys_TR_GetTpmHandle: /lib64/libtss2-esys.so.0: undefined symbol: Esys_TR_GetTpmHandle
libtss2-esys too old, does not include Esys_TR_GetTpmHandle.
Can't find symbol Esys_TR_GetTpmHandle: /lib64/libtss2-esys.so.0: undefined symbol: Esys_TR_GetTpmHandle
libtss2-esys too old, does not include Esys_TR_GetTpmHandle.
PolicyPCR calculated digest: 9a1f511fb94f030eb21d0332ef2739727bf0ead4ec26a204d15b09cdeb4b2555
Calculating sealed object.
Calculating encrypted seed for sealed object.
Calculating encrypted seed for ECC sealed object.
Calculating KDFe().
KDF-SS requires openssl >= 3.
Could not calculate KDFe: Operation not supported
Could not calculate encrypted seed: Operation not supported
Failed to seal to TPM2: Operation not supported

11 months agostoragetm: expose more useful metadata for nvme block devices
Lennart Poettering [Fri, 10 Nov 2023 15:11:12 +0000 (16:11 +0100)]
storagetm: expose more useful metadata for nvme block devices

don't let the devices to be announced just as model "Linux". Let's instead
propagate the underlying block device's model. Also do something
reasonably smart for the serial and firmware version fields.

11 months agoMerge pull request #30016 from dtardon/udevadm-control-p-test
Luca Boccassi [Mon, 13 Nov 2023 19:29:53 +0000 (19:29 +0000)]
Merge pull request #30016 from dtardon/udevadm-control-p-test

Add test for udevadm control -p

11 months agotests: add test for udevadm control -p
David Tardon [Thu, 9 Nov 2023 14:09:33 +0000 (15:09 +0100)]
tests: add test for udevadm control -p

Follow-up for e1593039dbb64e47e3ec81d2c913e7730d94a727 .

11 months agoudev: allow global properties in assignments
David Tardon [Mon, 13 Nov 2023 15:23:37 +0000 (16:23 +0100)]
udev: allow global properties in assignments

Before, handling of global properties (set on systemd-udevd by `udevadm
control -p FOO=foo`) was inconsistent. They were honored in ENV matches,
but not in any assignment. This meant that any use of $env{FOO} (where
FOO was a global property) expanded to an empty string.

11 months agoudev-rules: use udev_get_property_value()
David Tardon [Mon, 13 Nov 2023 15:20:09 +0000 (16:20 +0100)]
udev-rules: use udev_get_property_value()

11 months agoudev-util: add wrapper for sd_device_get_property_value()
David Tardon [Mon, 13 Nov 2023 15:11:41 +0000 (16:11 +0100)]
udev-util: add wrapper for sd_device_get_property_value()

... that allows to pass additional properties to fall back to.

11 months agoMerge pull request #30005 from poettering/storagetm-plymout
Yu Watanabe [Mon, 13 Nov 2023 17:39:17 +0000 (02:39 +0900)]
Merge pull request #30005 from poettering/storagetm-plymout

storagetm: plymouth hookup

11 months agoMerge pull request #30015 from poettering/tpm2-slow-tests
Yu Watanabe [Mon, 13 Nov 2023 17:38:33 +0000 (02:38 +0900)]
Merge pull request #30015 from poettering/tpm2-slow-tests

tests: skip slow tpm2 tests if slow tests aren't enabled

11 months agoMerge pull request #30010 from poettering/mount-tool-tweakles
Yu Watanabe [Mon, 13 Nov 2023 17:38:09 +0000 (02:38 +0900)]
Merge pull request #30010 from poettering/mount-tool-tweakles

mount-tool: trivial tweaklets

11 months agoMerge pull request #30003 from poettering/vendor-model-unify
Yu Watanabe [Mon, 13 Nov 2023 17:36:08 +0000 (02:36 +0900)]
Merge pull request #30003 from poettering/vendor-model-unify

udev-util: add generic device_get_{vendor,model}_string() helpers

11 months agoid128: add id128_digest() helper
Lennart Poettering [Mon, 13 Nov 2023 09:58:18 +0000 (10:58 +0100)]
id128: add id128_digest() helper

This helper hashes some arbitrary data and turns it into a v4 UUID.

11 months agoukify: show .sbom sections as binary
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 14:13:30 +0000 (15:13 +0100)]
ukify: show .sbom sections as binary

Fixup for e87dec82bec6eff015b368b3c746810d684fc6af:
I misunderstood the format. It's actually CBOR, i.e. some binary format.
When trying to show show text we would first check if it's valid UTF-8,
so we would handle this gracefully, i.e. emit a warning and not print
the contents.

11 months agocore: add unit_reset_{memory,io}_accounting_last
Mike Yuan [Mon, 13 Nov 2023 13:27:29 +0000 (21:27 +0800)]
core: add unit_reset_{memory,io}_accounting_last

11 months agocore: generalize memory accounting attribute handling
Mike Yuan [Mon, 13 Nov 2023 12:23:42 +0000 (20:23 +0800)]
core: generalize memory accounting attribute handling

Follow-up for #29941

Also, support for MemoryCurrent in cgroup v1 is removed, as we're
going to remove that completely anyway.

Fixes #30000

11 months agocore/unit-serialize: use private string table
Mike Yuan [Mon, 13 Nov 2023 15:43:54 +0000 (23:43 +0800)]
core/unit-serialize: use private string table

11 months agotest-tpm2: raise timeout, as RSA is slow
Lennart Poettering [Mon, 13 Nov 2023 15:53:56 +0000 (16:53 +0100)]
test-tpm2: raise timeout, as RSA is slow

11 months agotest-tpm2: skip RSA generating TPM2 tests on physical hw
Lennart Poettering [Mon, 13 Nov 2023 15:43:30 +0000 (16:43 +0100)]
test-tpm2: skip RSA generating TPM2 tests on physical hw

The TPM2 tests that genreate an RSA primary key are fast on vtpms, but
very slow on physical TPMs, simply because TPMs aren't precisely fast
devices. It makes sense to keep the tests around however. Hence hide the
test behind the "slow test" logic by default – but only if we run on
physical hw, and keep them in place on VMs (where we'd expect a vtpm, if
any).

11 months agotests: add macro for generating function enter log message
Lennart Poettering [Mon, 13 Nov 2023 15:41:16 +0000 (16:41 +0100)]
tests: add macro for generating function enter log message

The test-tpm2 test multiplexes a bunch of tests from a single
entrypoint test that creates the TPM2 connection. This means we only get
the nice log output which test we are looking for once for the
entrypoint.

Let's add a macro that allows it to nicely generate it for the inner
tests too and use it.

11 months agocore/unit-serialize: realign table
Mike Yuan [Mon, 13 Nov 2023 12:53:59 +0000 (20:53 +0800)]
core/unit-serialize: realign table

11 months agocore: use FOREACH_ARRAY and RET_GATHER more
Mike Yuan [Mon, 13 Nov 2023 13:24:34 +0000 (21:24 +0800)]
core: use FOREACH_ARRAY and RET_GATHER more

11 months agoudev-util: add generic device_get_{vendor,model}_string() helpers
Lennart Poettering [Fri, 10 Nov 2023 15:10:22 +0000 (16:10 +0100)]
udev-util: add generic device_get_{vendor,model}_string() helpers

We chck the same props in various places, add a single implementation of
a call to inquire this.

11 months agoci: work around mold/clang incompat
Lennart Poettering [Mon, 13 Nov 2023 15:23:51 +0000 (16:23 +0100)]
ci: work around mold/clang incompat

See discussion:

https://github.com/systemd/systemd/pull/30003#issuecomment-1808349258

11 months agomount-tool: make internal and external column name match
Lennart Poettering [Mon, 13 Nov 2023 15:12:03 +0000 (16:12 +0100)]
mount-tool: make internal and external column name match

11 months agomount-tool: rely on format-table.c's ersatz logic
Lennart Poettering [Mon, 13 Nov 2023 13:39:04 +0000 (14:39 +0100)]
mount-tool: rely on format-table.c's ersatz logic

Let the table logic handle the special casing ov unavailable data,
rather than doing that ourselves.

11 months agomount-tool: reduce scope of enum
Lennart Poettering [Mon, 13 Nov 2023 13:38:40 +0000 (14:38 +0100)]
mount-tool: reduce scope of enum

11 months agounits: pull in plymouth when booting into storagetm mode
Lennart Poettering [Fri, 10 Nov 2023 16:00:38 +0000 (17:00 +0100)]
units: pull in plymouth when booting into storagetm mode

11 months agostoragetm: show connection data also via plymouth
Lennart Poettering [Fri, 10 Nov 2023 15:58:50 +0000 (16:58 +0100)]
storagetm: show connection data also via plymouth

Pretty!

11 months agoutil-lib: share plymouth client code
Lennart Poettering [Fri, 10 Nov 2023 15:30:30 +0000 (16:30 +0100)]
util-lib: share plymouth client code

Let's add a new "plymouth-util.c" module with helpers for talking to
plymouth. We so far had three places for this, let's unify the code
doing this a bit.

11 months agoMerge pull request #29995 from keszybz/voidify-timestamp-getters
Lennart Poettering [Mon, 13 Nov 2023 13:41:42 +0000 (14:41 +0100)]
Merge pull request #29995 from keszybz/voidify-timestamp-getters

Rename and voidify timestamp getters

11 months agomeson: fix printing of first-boot-full-preset
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 07:31:13 +0000 (08:31 +0100)]
meson: fix printing of first-boot-full-preset

The meson summary logic checks for ENABLE_* and HAVE_*, but we used a define
with no prefix. Let's make it ENABLE_… for consistency with other config
options. Obviously this also fixes the summary output.

11 months agoMerge pull request #29996 from keszybz/ukify-summary-and-sbom-sections
Luca Boccassi [Mon, 13 Nov 2023 13:26:38 +0000 (13:26 +0000)]
Merge pull request #29996 from keszybz/ukify-summary-and-sbom-sections

Ukify synopsis and SBOM sections

11 months agocore: rename MemoryZswapCurrent -> MemoryZSwapCurrent
Yu Watanabe [Mon, 13 Nov 2023 11:28:22 +0000 (20:28 +0900)]
core: rename MemoryZswapCurrent -> MemoryZSwapCurrent

Follow-up for 26caa66867ec921621df023654fc6a2186a21589.

11 months agotree-wide: use the usual spelling of "cannot"
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 12:50:39 +0000 (13:50 +0100)]
tree-wide: use the usual spelling of "cannot"

(There's a bunch more in src/basic/linux/, but those files are copied from the
kernel and should not be modified.)

11 months agocore/unit: use assert for checking internal call sanity
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 08:11:07 +0000 (09:11 +0100)]
core/unit: use assert for checking internal call sanity

The only way this could be called with an invalid value would be if
somebody forgot to initialize unit type. In such cases, it's better to
fail hard immediately.

11 months agoRename {dual,triple}_timestamp_get to {dual,triple}_timestamp_now
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 07:41:16 +0000 (08:41 +0100)]
Rename {dual,triple}_timestamp_get to {dual,triple}_timestamp_now

Those functions take a pointer to a timestamp and return a timestamp pointer,
so the reader would be justified to think that those are just getters. Rename
them to avoid confusion.

11 months agoconf-parser: remove unused condition
Mike Yuan [Mon, 13 Nov 2023 09:08:24 +0000 (17:08 +0800)]
conf-parser: remove unused condition

Follow-up for 9ac2f3c4d2cc02eda32034980461c21232bb746c

config_parse() returns 0 only on ENOENT, which can
never happen since we pass the FILE stream.

11 months agoukify: show .sbom sections as text
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 09:41:52 +0000 (10:41 +0100)]
ukify: show .sbom sections as text

There are draft proposals to embed SBOM metadata in the .sbom section of PE
binaries [1], in the coSWID XML format. Some details of how this is actually
implemented might change, but it seems very likely that both section name and
it being text will stay. Let's show the section as text to make such binaries
easier to inspect. ([1] recommends using 'objcopy -j .sbom' which isn't
particularly readable.)  Once there's more standarization of the actual
format, we can add pretty-printing and/or syntax highlighting.

[1] https://uefi.org/blog/firmware-sbom-proposal
[2] https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-21.html

11 months agoukify: print a more readable synopsis in --help
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 09:17:54 +0000 (10:17 +0100)]
ukify: print a more readable synopsis in --help

The details of formatting are copied from mkosi. This results in the following:

   usage:
     ukify build [--linux=LINUX] [--initrd=INITRD] [options…]
     ukify genkey [options…]
     ukify inspect FILE… [options…]

  Build and sign Unified Kernel Images

  options:
    --version             show program's version number and exit
    ...

I put "[options…]" at the end, because that's what one would generally do
with long options like "--cmdline" and others.

11 months agoMerge pull request #29990 from Flowdalic/memory-zswap-current
Mike Yuan [Mon, 13 Nov 2023 08:40:18 +0000 (16:40 +0800)]
Merge pull request #29990 from Flowdalic/memory-zswap-current

cgroup: add support for memory.zswap.current

11 months agosystemctl-show: merge subsequent swap printf() blocks
Florian Schmaus [Sun, 12 Nov 2023 20:12:02 +0000 (21:12 +0100)]
systemctl-show: merge subsequent swap printf() blocks

11 months agoconf-parser: pin seen config files
Mike Yuan [Thu, 9 Nov 2023 18:54:21 +0000 (02:54 +0800)]
conf-parser: pin seen config files

Follow-up for 93f1da45566d064f4f053b37bbac2813631f58b1

Addresses https://github.com/systemd/systemd/commit/93f1da45566d064f4f053b37bbac2813631f58b1#r132152321

11 months agocgroup: add support for memory.zswap.current
Florian Schmaus [Sun, 12 Nov 2023 17:17:02 +0000 (18:17 +0100)]
cgroup: add support for memory.zswap.current

11 months agoMerge pull request #29976 from YHNdnzj/session-by-leader-pidref
Yu Watanabe [Sun, 12 Nov 2023 20:09:47 +0000 (05:09 +0900)]
Merge pull request #29976 from YHNdnzj/session-by-leader-pidref

logind: switch sessions_by_leader to PidRef

11 months agoMerge pull request #29968 from bluca/executor_selinux_lazy_load
Yu Watanabe [Sun, 12 Nov 2023 20:06:44 +0000 (05:06 +0900)]
Merge pull request #29968 from bluca/executor_selinux_lazy_load

executor: lazily load SELinux

11 months agoMerge pull request #29989 from yuwata/conf-parser-arg-type
Luca Boccassi [Sun, 12 Nov 2023 17:30:44 +0000 (17:30 +0000)]
Merge pull request #29989 from yuwata/conf-parser-arg-type

conf-parser: fix argument type

11 months agoconf-parser: fix argument type of ConfigPerfItemLookup
Yu Watanabe [Sun, 12 Nov 2023 15:37:18 +0000 (00:37 +0900)]
conf-parser: fix argument type of ConfigPerfItemLookup

Prompted by #29972.

11 months agoconf-parser: inline variable declaration
Yu Watanabe [Sun, 12 Nov 2023 15:30:01 +0000 (00:30 +0900)]
conf-parser: inline variable declaration

11 months agoFix some typos in RESOLVED-VPNS.md
Jeremy Fleischman [Sun, 12 Nov 2023 10:58:09 +0000 (02:58 -0800)]
Fix some typos in RESOLVED-VPNS.md

11 months agoMerge pull request #29941 from Flowdalic/cgroup-memory-swap-peak
Mike Yuan [Sun, 12 Nov 2023 08:21:44 +0000 (16:21 +0800)]
Merge pull request #29941 from Flowdalic/cgroup-memory-swap-peak

cgroup: add support for memory.swap.peak and memory.swap.current

11 months agotest: sort files in generate-sym-test.py
Luca Boccassi [Sat, 11 Nov 2023 20:29:03 +0000 (20:29 +0000)]
test: sort files in generate-sym-test.py

The test binaries are different depending on the filesystem, due to os.walk().
Sort the input before iterating on it to make it stable.

11 months agologind: switch sessions_by_leader to PidRef
Mike Yuan [Thu, 9 Nov 2023 16:51:52 +0000 (00:51 +0800)]
logind: switch sessions_by_leader to PidRef

11 months agoselinux: change fd check into assertion
Luca Boccassi [Fri, 10 Nov 2023 13:10:13 +0000 (13:10 +0000)]
selinux: change fd check into assertion

11 months agoexecutor: lazily load SELinux
Luca Boccassi [Fri, 10 Nov 2023 00:22:21 +0000 (00:22 +0000)]
executor: lazily load SELinux

Loading the SELinux DB on every invocation can be slow and
takes 2ms-10ms, so do not initialize it unconditionally, but
wait for the first use. On a mkosi Fedora rawhide image, this
cuts the number of loads in half.

11 months agoselinux: support lazy initialization
Luca Boccassi [Fri, 10 Nov 2023 00:21:03 +0000 (00:21 +0000)]
selinux: support lazy initialization

Loading the SELinux DB is slow, so support lazy initialization so
that it is done when needed.

11 months agoselinux: avoid probing memory status if debug logs are not enabled
Luca Boccassi [Fri, 10 Nov 2023 11:53:11 +0000 (11:53 +0000)]
selinux: avoid probing memory status if debug logs are not enabled

Given we are optimizing the selinux paths, avoid doing these operations
unless the result is actually used

11 months agocgroup: add support for memory.swap.current
Florian Schmaus [Fri, 10 Nov 2023 10:44:09 +0000 (11:44 +0100)]
cgroup: add support for memory.swap.current

In systemctl-show we only show current swap if ever swapped or non-zero. This
reduces the noise on swapless systems, that would otherwise always show a swap
value that never has the chance to become non-zero. It further reduces the
noise for services that never swapped.

11 months agocgroup: de-duplicate uni_get_memory_* code
Florian Schmaus [Thu, 9 Nov 2023 08:49:29 +0000 (09:49 +0100)]
cgroup: de-duplicate uni_get_memory_* code

11 months agocgroup: add support for memory.swap.peak
Florian Schmaus [Wed, 8 Nov 2023 18:22:06 +0000 (19:22 +0100)]
cgroup: add support for memory.swap.peak

11 months agocore/unit: remove unneeded comparison for hashmap_remove_value
Mike Yuan [Sat, 11 Nov 2023 07:53:38 +0000 (15:53 +0800)]
core/unit: remove unneeded comparison for hashmap_remove_value

hashmap_remove_value returns NULL if the value in the hashmap doesn't
match with the one provided by the caller.

11 months agopidref: introduce hash ops that doesn't come with destructor
Mike Yuan [Sat, 11 Nov 2023 07:48:24 +0000 (15:48 +0800)]
pidref: introduce hash ops that doesn't come with destructor

11 months agocgroup-util: introduce cg_pidref_get_unit
Mike Yuan [Thu, 9 Nov 2023 16:18:53 +0000 (00:18 +0800)]
cgroup-util: introduce cg_pidref_get_unit

11 months agoTODO: fix typo
Yu Watanabe [Sat, 11 Nov 2023 08:58:14 +0000 (17:58 +0900)]
TODO: fix typo

11 months agoMerge pull request #29929 from poettering/tty-reset-fixes
Yu Watanabe [Sat, 11 Nov 2023 03:44:31 +0000 (12:44 +0900)]
Merge pull request #29929 from poettering/tty-reset-fixes

pid1: various fixes around TTY resets

11 months agoMerge pull request #29958 from mrc0mmand/journal-line_max
Yu Watanabe [Sat, 11 Nov 2023 03:39:57 +0000 (12:39 +0900)]
Merge pull request #29958 from mrc0mmand/journal-line_max

journal: recalculate line_max when stdout stream state changes

11 months agoUpdate kernel-install man page, Ukify is the default UKI_GENERATOR
cvlc12 [Thu, 9 Nov 2023 14:01:48 +0000 (15:01 +0100)]
Update kernel-install man page, Ukify is the default UKI_GENERATOR

Ukify is the default generator, and will be used if UKI_GENERATOR is unset. See https://github.com/systemd/systemd/pull/28687

11 months agoMerge pull request #29982 from poettering/repart-message-tweaks
Luca Boccassi [Fri, 10 Nov 2023 23:16:13 +0000 (23:16 +0000)]
Merge pull request #29982 from poettering/repart-message-tweaks

repart: minor log message tweaks

11 months agoboot: load device tree even if no original config exists
Clayton Craft [Fri, 27 Oct 2023 19:50:50 +0000 (12:50 -0700)]
boot: load device tree even if no original config exists

Firmware may not have loaded a devicetree, for example if the device
shipped with windows and exclusively supports ACPI.
We should always load the specified devicetree regardless of firmware
state to enable booting on platforms where Linux only supports DT.

Note: in _cleanup, the orig. config is NULL in this case, and passing
NULL to InstallConfigurationTable is permitted by the EFI spec.
See: https://uefi.org/specs/UEFI/2.10/07_Services_Boot_Services.html

Fixes #24059

Co-authored-by: Daniel Thompson <daniel.thompson@linaro.org>
11 months agoMerge pull request #29981 from yuwata/network-dhcp6-pd-without-address
Luca Boccassi [Fri, 10 Nov 2023 22:04:25 +0000 (22:04 +0000)]
Merge pull request #29981 from yuwata/network-dhcp6-pd-without-address

network: fix DHCPv6-PD without addressing