Commit Graph

68792 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
b484c250cc Merge pull request #29930 from yuwata/meson-default-network-fix-install-path
meson: fix install path of example .network files
2023-11-14 17:33:42 +01:00
Zbigniew Jędrzejewski-Szmek
6f4e496685 Merge pull request #29928 from yuwata/meson-default-network
meson: follow-ups for -Ddefault-network=
2023-11-14 17:33:03 +01:00
Vito Caputo
8c5f6494bc doc: some trivial cleanups to MEMORY_PRESSURE.md 2023-11-14 09:46:57 +00:00
Yu Watanabe
921961c3a3 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 abc19a6ffa.

This also fixes missing voidification.

Fixes CID#1524253.
2023-11-14 08:52:40 +01:00
Luca Boccassi
4ce6e7d158 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: 0617da2edb
2023-11-13 21:32:46 +00:00
Luca Boccassi
888dccfde0 Merge pull request #30007 from YHNdnzj/memory-attr-followup
core: generalize memory accounting attribute handling
2023-11-13 21:12:06 +00:00
Luca Boccassi
1029edea3c Merge pull request #30018 from mrc0mmand/TEST-70
test: skip --tpm2-device-key= tests with older OpenSSL
2023-11-13 20:58:43 +00:00
Frantisek Sumsal
968d232db5 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.
2023-11-13 20:47:17 +01:00
Frantisek Sumsal
52a09e6230 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
2023-11-13 20:37:36 +01:00
Lennart Poettering
abc19a6ffa 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.
2023-11-13 19:32:34 +00:00
Luca Boccassi
842b06404f Merge pull request #30016 from dtardon/udevadm-control-p-test
Add test for udevadm control -p
2023-11-13 19:29:53 +00:00
David Tardon
9daa7e7454 tests: add test for udevadm control -p
Follow-up for e1593039db .
2023-11-13 19:19:55 +01:00
David Tardon
854b3c0485 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.
2023-11-13 19:19:54 +01:00
David Tardon
57f6950eb9 udev-rules: use udev_get_property_value() 2023-11-13 19:19:04 +01:00
David Tardon
f20ae7dbdf udev-util: add wrapper for sd_device_get_property_value()
... that allows to pass additional properties to fall back to.
2023-11-13 19:18:23 +01:00
Yu Watanabe
aa78d138ed Merge pull request #30005 from poettering/storagetm-plymout
storagetm: plymouth hookup
2023-11-14 02:39:17 +09:00
Yu Watanabe
4cec9b1b17 Merge pull request #30015 from poettering/tpm2-slow-tests
tests: skip slow tpm2 tests if slow tests aren't enabled
2023-11-14 02:38:33 +09:00
Yu Watanabe
4e2df3082d Merge pull request #30010 from poettering/mount-tool-tweakles
mount-tool: trivial tweaklets
2023-11-14 02:38:09 +09:00
Yu Watanabe
175ff7bf0d Merge pull request #30003 from poettering/vendor-model-unify
udev-util: add generic device_get_{vendor,model}_string() helpers
2023-11-14 02:36:08 +09:00
Lennart Poettering
0408d802db id128: add id128_digest() helper
This helper hashes some arbitrary data and turns it into a v4 UUID.
2023-11-13 17:39:53 +01:00
Zbigniew Jędrzejewski-Szmek
f99304fe23 ukify: show .sbom sections as binary
Fixup for e87dec82be:
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.
2023-11-13 16:33:07 +00:00
Mike Yuan
d4bdc202c3 core: add unit_reset_{memory,io}_accounting_last 2023-11-14 00:22:54 +08:00
Mike Yuan
9824ab1f00 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
2023-11-14 00:22:54 +08:00
Mike Yuan
94a2937550 core/unit-serialize: use private string table 2023-11-14 00:07:47 +08:00
Lennart Poettering
cc8c679281 test-tpm2: raise timeout, as RSA is slow 2023-11-13 16:53:56 +01:00
Lennart Poettering
3aea672bff 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).
2023-11-13 16:51:57 +01:00
Lennart Poettering
47a7a4d404 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.
2023-11-13 16:50:55 +01:00
Mike Yuan
d6d71575dd core/unit-serialize: realign table 2023-11-13 23:39:15 +08:00
Mike Yuan
cbd2abbbe7 core: use FOREACH_ARRAY and RET_GATHER more 2023-11-13 23:39:14 +08:00
Lennart Poettering
3cc7a9fd25 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.
2023-11-13 16:24:17 +01:00
Lennart Poettering
7e91c97aff ci: work around mold/clang incompat
See discussion:

https://github.com/systemd/systemd/pull/30003#issuecomment-1808349258
2023-11-13 16:24:17 +01:00
Lennart Poettering
b86155d071 mount-tool: make internal and external column name match 2023-11-13 16:13:07 +01:00
Lennart Poettering
4096143827 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.
2023-11-13 16:13:07 +01:00
Lennart Poettering
4cbf9d52f3 mount-tool: reduce scope of enum 2023-11-13 16:13:07 +01:00
Lennart Poettering
4134f47de2 units: pull in plymouth when booting into storagetm mode 2023-11-13 15:45:16 +01:00
Lennart Poettering
95d548026f storagetm: show connection data also via plymouth
Pretty!
2023-11-13 15:45:16 +01:00
Lennart Poettering
aa25e19b47 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.
2023-11-13 14:17:05 +00:00
Lennart Poettering
1a292659f2 Merge pull request #29995 from keszybz/voidify-timestamp-getters
Rename and voidify timestamp getters
2023-11-13 14:41:42 +01:00
Zbigniew Jędrzejewski-Szmek
2233035275 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.
2023-11-13 13:27:31 +00:00
Luca Boccassi
95d0afbfa9 Merge pull request #29996 from keszybz/ukify-summary-and-sbom-sections
Ukify synopsis and SBOM sections
2023-11-13 13:26:38 +00:00
Yu Watanabe
58cde42f65 core: rename MemoryZswapCurrent -> MemoryZSwapCurrent
Follow-up for 26caa66867.
2023-11-13 13:54:56 +01:00
Zbigniew Jędrzejewski-Szmek
cee60fc36f 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.)
2023-11-13 13:27:36 +01:00
Zbigniew Jędrzejewski-Szmek
ffcf54d4fb 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.
2023-11-13 13:27:36 +01:00
Zbigniew Jędrzejewski-Szmek
fa5a025167 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.
2023-11-13 13:27:07 +01:00
Mike Yuan
8ea288db01 conf-parser: remove unused condition
Follow-up for 9ac2f3c4d2

config_parse() returns 0 only on ENOENT, which can
never happen since we pass the FILE stream.
2023-11-13 10:32:38 +00:00
Zbigniew Jędrzejewski-Szmek
e87dec82be 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
2023-11-13 10:59:30 +01:00
Zbigniew Jędrzejewski-Szmek
51faf83696 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.
2023-11-13 10:59:30 +01:00
Mike Yuan
6f510ec8d6 Merge pull request #29990 from Flowdalic/memory-zswap-current
cgroup: add support for memory.zswap.current
2023-11-13 16:40:18 +08:00
Florian Schmaus
7bf87a6477 systemctl-show: merge subsequent swap printf() blocks 2023-11-12 21:12:02 +01:00
Mike Yuan
9ac2f3c4d2 conf-parser: pin seen config files
Follow-up for 93f1da4556

Addresses 93f1da4556 (r132152321)
2023-11-13 05:11:26 +09:00