Daan De Meyer [Wed, 23 Nov 2022 12:28:57 +0000 (13:28 +0100)]
Revert "find-esp: Relax filesystem root directory check"
This reverts commit
d91a5f6481d35e28148fe46bc490bb4f34656947.
This is the wrong approach as we don't detect the UUID and devid
of valid ESP/XBOOTLDR partitions.
Bernd Steinhauser [Wed, 23 Nov 2022 14:07:25 +0000 (15:07 +0100)]
hwdb: remove fuzz and deadzone for Simucube wheel bases.
For these devices the axes are setup via a special
configuration tool. udev should not apply additional
fuzz or deadzone.
Reference for the product IDs:
https://granitedevices.com/wiki/Simucube_product_USB_interface_documentation
This also indicates that there are a total of 8 axes.
Lennart Poettering [Wed, 23 Nov 2022 16:36:44 +0000 (17:36 +0100)]
Merge pull request #25486 from keszybz/kernel-install-header
Add "File created by …" header to BLS entries
Zbigniew Jędrzejewski-Szmek [Wed, 23 Nov 2022 11:43:28 +0000 (12:43 +0100)]
TODO: add item about mnt_fstype_is_netfs()
Zbigniew Jędrzejewski-Szmek [Tue, 22 Nov 2022 14:59:21 +0000 (15:59 +0100)]
kernel-install: add header to generate entry files
I was looking at a bug in bugzilla about some boot loader issue, and it was
hard to say if the boot entry files were generated by our plugin or something
else. Add a header to make this clear.
kernel-install invokes the plugins via absolute path always, so $0 gives as
the full path the location where the plugin is installed. This is what we want:
title Fedora Linux 37 (Workstation Edition)
# Boot Loader Specification type#1 entry
# File created by /usr/lib/kernel/install.d/90-loaderentry.install (systemd
252-409-g5028904^)
Daan De Meyer [Mon, 21 Nov 2022 19:41:22 +0000 (20:41 +0100)]
find-esp: Relax filesystem root directory check
When relaxed checks are requested, let's not require the efi/xbootldr
directory to be the root of the filesystem. When building images, image
builders might install all efi/xbootldr files to a regular directory
first before packing them up into a partition. To allow bootctl to be
used in such scenarios to install systemd-boot, we need to relax the
fsroot check.
Luca Boccassi [Tue, 22 Nov 2022 16:24:54 +0000 (16:24 +0000)]
repart: respect --discard=no also for block devices
It's only used to avoid BLKDISCARD on individual partitions at the moment.
It can take a lot of time to run on very slow devices, so avoid it for
them too.
Jason A. Donenfeld [Wed, 23 Nov 2022 00:24:57 +0000 (01:24 +0100)]
Update changelog with latest sd-boot, sd-stub, and bootctl changes
Jason A. Donenfeld [Fri, 18 Nov 2022 01:49:16 +0000 (02:49 +0100)]
stub: handle random seed like sd-boot does
sd-stub has an opportunity to handle the seed the same way sd-boot does,
which would have benefits for UKIs when sd-boot is not in use. This
commit wires that up.
It refactors the XBOOTLDR partition discovery to also find the ESP
partition, so that it access the random seed there.
Lennart Poettering [Tue, 22 Nov 2022 14:38:52 +0000 (15:38 +0100)]
sd-event: reenable epoll_pwait2()
This reenables epoll_pwait2() use, i.e. undoes the effect of
39f756d3ae4765b8bf017567a12b8a4b358eaaf5.
Instead of just reverting that, this PR will change things so that we
strictly rely on glibc's new epoll_pwait2() wrapper (which was added
earlier this year), and drop our own manual fallback syscall wrapper.
That should nicely side-step any issues with correct syscall wrapping
definitions (which on some arch seem not to be easy, given the sigset_t
size final argument), by making this a glibc problem, not ours.
Given that the only benefit this delivers are time-outs more granular
than msec, it shouldn't really matter that we'll miss out on support
for this on systems with older glibcs.
Daan De Meyer [Tue, 22 Nov 2022 21:29:50 +0000 (22:29 +0100)]
Merge pull request #25485 from DaanDeMeyer/gpt-fix
gpt: Specify designator array sizes explicitly
Zbigniew Jędrzejewski-Szmek [Tue, 22 Nov 2022 14:59:21 +0000 (15:59 +0100)]
kernel-install: make 90-loadentry.install templated
It's a bit annoying that this causes so much churn, but I don't see a different
way to do this.
Daan De Meyer [Tue, 22 Nov 2022 14:59:50 +0000 (15:59 +0100)]
gpt: Drop PARTITION_LINUX_GENERIC and PARTITION_USER_HOME
These don't have an inherent purpose, and aren't used throughout
the codebase, so let's simplify things and remove these.
See https://github.com/systemd/systemd/pull/24803#discussion_r1028190421
for more information.
Daan De Meyer [Tue, 22 Nov 2022 14:53:02 +0000 (15:53 +0100)]
gpt: Specify designator array sizes explicitly
Avoid users accidentally accessing uninitialized memory by always
making sure the array size covers all possible enum values.
Luca Boccassi [Tue, 22 Nov 2022 12:37:15 +0000 (13:37 +0100)]
Merge pull request #25477 from yuwata/network-wifi-reconfigure-on-connect
network: wifi: try to reconfigure when connected
Zbigniew Jędrzejewski-Szmek [Tue, 22 Nov 2022 11:00:17 +0000 (12:00 +0100)]
man/journalctl: mention systemd-cat, make the description more direct
We said "query the journal". This is true but also very generic. Let's say
"print log entries from the journal" instead, so that users who are looking for
"logging" are more likely to figure out that the journalctl is the tool for
them.
Also, mention systemd-journal-remote.service which can write the journal too.
And give some hints how to figure out how to write *to* the journal.
Anita Zhang [Tue, 22 Nov 2022 06:36:37 +0000 (22:36 -0800)]
man: update docs for MemoryZSwapMax=
Benjamin Fogle [Thu, 17 Nov 2022 14:52:50 +0000 (09:52 -0500)]
resolved: Fix OpenSSL error messages
Yu Watanabe [Tue, 22 Nov 2022 05:24:32 +0000 (14:24 +0900)]
network: wifi: try to reconfigure when connected
Sometimes, RTM_NEWLINK message with carrier is received earlier than
NL80211_CMD_CONNECT. To make SSID= or other WiFi related settings in
[Match] section work, let's try to reconfigure the interface.
Fixes a bug introduced by
96f5f9ef9a1ba5146d3357c1548fb675d3bd5b68.
Fixes #25384.
Yu Watanabe [Tue, 22 Nov 2022 05:31:31 +0000 (14:31 +0900)]
network: drop unnecessary prototype
Follow-up for
a39a9ac8065c29330207838b70fe388bde2bc254.
Yu Watanabe [Tue, 22 Nov 2022 03:27:37 +0000 (12:27 +0900)]
Merge pull request #25470 from keszybz/strv-extendf-format
Improve check for strv_extendf() format string
наб [Tue, 8 Nov 2022 20:30:01 +0000 (21:30 +0100)]
systemctl: edit: write override files as text files
Instead of stripping the newline off the final would-be line;
continue to reduce an empty-line-only file to an empty file, though
Closes #25303
Zbigniew Jędrzejewski-Szmek [Wed, 16 Nov 2022 11:55:35 +0000 (12:55 +0100)]
bootctl: use grey-and-slash prefix for source in list too
Follow-up for
7851732262ec94f50598c4a289589a6ddb97ebfd. The source
field also shows a path relative to $BOOT, so it should be displayed
in the same fashion.
Lennart Poettering [Mon, 21 Nov 2022 14:32:22 +0000 (15:32 +0100)]
udev: make sure auto-root logic also works in UKIs booted from XBOOTLDR
If no root= switch is specified on the kernel command line we'll use the
root disk on which the partition the LoaderDevicePartUUID efi var is
located – as long as that partition is an ESP. Let's slightly liberalize
that and also allow it if that partition is an XBOOTLDR partition. This
ensures that UKIs spawned directly from XBOOTLDR work the same as those
from the ESP.
(Note that this makes no difference if sd-boot is in the mix, as in that
case LoaderDevicePartUUID is always set to the ESP, as that's where
sd-boot is located, and sd-boot will set the var first, sd-stub will
only set it later if it#s not set yet.)
Lennart Poettering [Fri, 18 Nov 2022 17:29:16 +0000 (18:29 +0100)]
tree-wide: make constant ratelimit compound actually const
The compiler should recognize that these are constant expressions, but
let's better make this explicit, so that the linker can safely share the
initializations all over the place.
Jason A. Donenfeld [Mon, 21 Nov 2022 15:40:24 +0000 (16:40 +0100)]
boot: remove random-seed-mode
Now that the random seed is used on virtualized systems, there's no
point in having a random-seed-mode toggle switch. Let's just always
require it now, with the existing logic already being there to allow not
having it if EFI itself has an RNG. In other words, the logic for this
can now be automatic.
Luca Boccassi [Tue, 22 Nov 2022 00:07:13 +0000 (01:07 +0100)]
Merge pull request #25379 from keszybz/update-doc-links
Update doc links
Zbigniew Jędrzejewski-Szmek [Mon, 21 Nov 2022 19:06:55 +0000 (20:06 +0100)]
basic/strv: check printf arguments to strv_extendf()
The second argument to _printf_() specifies where the arguments start. We need to
use 0 in two cases: when the args in a va_list and can't be checked, and with journald
logging functions which accept multiple format strings with multiple argument sets,
which the _printf_ checker does not understand. But strv_extendf() can be checked.
Zbigniew Jędrzejewski-Szmek [Mon, 21 Nov 2022 19:03:08 +0000 (20:03 +0100)]
manager: fix format strings for trigger metadata
Fixup for
c8bc7519c888a99134f88f8c82353246d3c0cc5d.
Yu Watanabe [Mon, 21 Nov 2022 18:36:03 +0000 (03:36 +0900)]
Merge pull request #25395 from poettering/tpm2-dlsym-assert
dlfcn-util: add static asserts ensuring our sym_xyz() func ptrs match …
Lennart Poettering [Fri, 18 Nov 2022 14:13:55 +0000 (15:13 +0100)]
mkosi: pull in libbpf1 instead of legacy libbpf0 on debian
Lennart Poettering [Wed, 16 Nov 2022 20:37:20 +0000 (21:37 +0100)]
dlfcn-util: add static asserts ensuring our sym_xyz() func ptrs match the types from the official headers
Make sure that the sym_xyz function pointers have the types that the
functions we'll assign them have.
And of course, this found a number of incompatibilities right-away, in
particular in the bpf hookup.
(Doing this will trigger deprecation warnings from libbpf. I simply
turned them off locally now, since we are well aware of what we are
doing in that regard.)
There's one return type fix (bool → int), that actually matters I think,
as it might have created an incompatibility on some archs.
Lennart Poettering [Mon, 21 Nov 2022 14:14:22 +0000 (15:14 +0100)]
update TODO
Jason A. Donenfeld [Thu, 17 Nov 2022 15:11:44 +0000 (16:11 +0100)]
bootctl: install system token on virtualized systems
Removing the virtualization check might not be the worst thing in the
world, and would potentially get many, many more systems properly seeded
rather than not seeded. There are a few reasons to consider this:
- In most QEMU setups and most guides on how to setup QEMU, a separate
pflash file is used for nvram variables, and this generally isn't
copied around.
- We're now hashing in a timestamp, which should provide some level of
differentiation, given that EFI_TIME has a nanoseconds field.
- The kernel itself will additionally hash in: a high resolution time
stamp, a cycle counter, RDRAND output, the VMGENID uniquely
identifying the virtual machine, any other seeds from the hypervisor
(like from FDT or setup_data).
- During early boot, the RNG is reseeded quite frequently to account for
the importance of early differentiation.
So maybe the mitigating factors make the actual feared problem
significantly less likely and therefore the pros of having file-based
seeding might outweigh the cons of weird misconfigured setups having a
hypothetical problem on first boot.
Daan De Meyer [Mon, 21 Nov 2022 13:02:25 +0000 (14:02 +0100)]
Merge pull request #25461 from DaanDeMeyer/repart-followups
repart followups
Zbigniew Jędrzejewski-Szmek [Mon, 14 Nov 2022 08:47:01 +0000 (09:47 +0100)]
docs/BOOT_LOADER_INTERFACE: reword sentence to apply to both entry types
Zbigniew Jędrzejewski-Szmek [Mon, 14 Nov 2022 08:44:39 +0000 (09:44 +0100)]
tree-wide: BLS and DPS are now on uapi-group website
Daan De Meyer [Mon, 21 Nov 2022 10:23:51 +0000 (11:23 +0100)]
repart: Rework PartitionTarget initialization
Daan De Meyer [Mon, 21 Nov 2022 10:10:34 +0000 (11:10 +0100)]
repart: Use fd based operations in partition_populate_directory()
BerndAdameit [Sun, 20 Nov 2022 09:36:39 +0000 (10:36 +0100)]
man/sd_bus_default: Refer to man-pages project (man7.org) for ssh(1)
Lennart Poettering [Mon, 21 Nov 2022 10:34:50 +0000 (11:34 +0100)]
Merge pull request #25409 from medhefgo/boot-fixes
boot: Several fixes
Daan De Meyer [Mon, 21 Nov 2022 09:53:23 +0000 (10:53 +0100)]
repart: Remove redundant parentheses in partition_populate_directory()
Daan De Meyer [Mon, 21 Nov 2022 09:51:15 +0000 (10:51 +0100)]
mkfs-util: Use FORK_CLOSE_ALL_FDS
Daan De Meyer [Mon, 21 Nov 2022 09:49:37 +0000 (10:49 +0100)]
mkfs-util: Prefer fd based stat() where possible
Daan De Meyer [Mon, 21 Nov 2022 09:46:12 +0000 (10:46 +0100)]
mkfs-util: Use GID_FMT
Daan De Meyer [Mon, 21 Nov 2022 09:45:26 +0000 (10:45 +0100)]
repart: Use ASSERT_PTR() in partition_encrypt()
Daan De Meyer [Mon, 21 Nov 2022 09:44:38 +0000 (10:44 +0100)]
repart: Use ftruncate() instead of posix_allocate()
Daan De Meyer [Mon, 21 Nov 2022 09:36:37 +0000 (10:36 +0100)]
repart: Fix parse_filter_partitions() log messages
Daan De Meyer [Mon, 21 Nov 2022 09:35:18 +0000 (10:35 +0100)]
repart: Fix FilterPartitionsType enum name
Daan De Meyer [Mon, 21 Nov 2022 09:34:28 +0000 (10:34 +0100)]
repart: Rework unused partition number algorithm
Daan De Meyer [Mon, 21 Nov 2022 09:28:36 +0000 (10:28 +0100)]
repart: Use IN_SET() in one more place
Richard E. van der Luit [Sun, 20 Nov 2022 15:19:54 +0000 (16:19 +0100)]
po: Translated using Weblate (Dutch)
Currently translated at 100.0% (193 of 193 strings)
Co-authored-by: Richard E. van der Luit <fedoraproject@veneax.nl>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/nl/
Translation: systemd/main
Jan Janssen [Tue, 15 Nov 2022 17:53:02 +0000 (18:53 +0100)]
boot: Replace firmware security hooks directly
For some firmware, replacing their own security arch instance with our
override using ReinstallProtocolInterface() is not enough as they will
not use it. This commit goes back to how this was done before by
directly modifying the security protocols.
Fixes: #25336
Jan Janssen [Tue, 15 Nov 2022 17:22:38 +0000 (18:22 +0100)]
boot: Rework security arch override
This simplifies the caller interface for security arch overrides by only
having to pass a validator and an optional context.
Jan Janssen [Mon, 14 Nov 2022 14:24:32 +0000 (15:24 +0100)]
boot: Manually convert filepaths if needed
The conversion of a filepath device path to text is needed for the stub
loader to find credential files.
Jan Janssen [Mon, 14 Nov 2022 13:37:13 +0000 (14:37 +0100)]
boot: Do not require a loaded image path
If the device path to text protocol is not available (looking angrily at
Apple) we would fail to boot because we cannot get the loaded image
path. As this is only used for cosmetic purposes, we can just silently
continue.
Fixes: #25363
Jan Janssen [Mon, 14 Nov 2022 13:18:26 +0000 (14:18 +0100)]
boot: Fix memory leak
lichao [Sat, 19 Nov 2022 12:45:30 +0000 (20:45 +0800)]
remove obsolete translate in zh_CN.po
Yu Watanabe [Sat, 19 Nov 2022 06:36:12 +0000 (15:36 +0900)]
Merge pull request #25438 from poettering/localhost-ifindex-tweak
resolved: fix ifindex for contacting per-interface DNS server if it is 127.0.0.1
Yu Watanabe [Sat, 19 Nov 2022 06:35:49 +0000 (15:35 +0900)]
Merge pull request #25423 from yuwata/network-tc-cake-rtt-and-ack-filter
network: tc-cake: support controlling RTT and ACK filter
Mike Yuan [Fri, 18 Nov 2022 23:49:27 +0000 (07:49 +0800)]
dbus-manager: add comments about booleans in function calls
Update to match the new coding style
See also: https://github.com/systemd/systemd/pull/25437#discussion_r1026934242
Yu Watanabe [Thu, 17 Nov 2022 11:44:56 +0000 (20:44 +0900)]
test-network: add tests for RTT and ACK filter for CAKE
Yu Watanabe [Thu, 17 Nov 2022 09:27:57 +0000 (18:27 +0900)]
network: tc-cake: add support to specify ACK filter
Yu Watanabe [Fri, 18 Nov 2022 20:58:51 +0000 (05:58 +0900)]
Merge pull request #25389 from fbuihuu/update-test-for-opensuse
Update test/ for openSUSE
Lennart Poettering [Fri, 18 Nov 2022 17:05:53 +0000 (18:05 +0100)]
bootctl: rework how we handle referenced but absent EFI boot entries
Follow-up for #25368.
Let's consider ENOENT an expected error, and just debug log about it
(though, let's suffix it with `, ignoring.`). All other errors will log
loudly, as they are unexpected errors.
Lennart Poettering [Fri, 18 Nov 2022 15:52:06 +0000 (16:52 +0100)]
resolved: when configuring 127.0.0.1 as per-interface DNS server, contact it via "lo" always
ussually if you specify a DNS server on some interface then we'll use
that interface to talk to it. Let's override this for localhost
addresses, as they only really make sense on "lo".
Fixes: #25397
Lennart Poettering [Fri, 18 Nov 2022 15:52:01 +0000 (16:52 +0100)]
resolved: use right conditionalization when setting unicast ifindex on UDP sockets
Sam James [Fri, 18 Nov 2022 07:18:18 +0000 (07:18 +0000)]
nspawn: allow sched_rr_get_interval_time64 through seccomp filter
We only allow a selected subset of syscalls from nspawn containers
and don't list any time64 variants (needed for 32-bit arches when
built using TIME_BITS=64, which is relatively new).
We allow sched_rr_get_interval which cpython's test suite makes
use of, but we don't allow sched_rr_get_interval_time64.
The test failures when run in an arm32 nspawn container on an arm64 host
were as follows:
```
======================================================================
ERROR: test_sched_rr_get_interval (test.test_posix.PosixTester.test_sched_rr_get_interval)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/tmp/portage/dev-lang/python-3.11.0_p1/work/Python-3.11.0/Lib/test/test_posix.py", line 1180, in test_sched_rr_get_interval
interval = posix.sched_rr_get_interval(0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 1] Operation not permitted
```
Then strace showed:
```
sched_rr_get_interval_time64(0, 0xffbbd4a0) = -1 EPERM (Operation not permitted)
```
This appears to be the only time64 syscall that isn't already included one of
the sets listed in nspawn-seccomp.c that has a non-time64 variant. Checked
over each of the time64 syscalls known to systemd and verified that none
of the others had a non-time64-variant whitelisted in nspawn other than
sched_rr_get_interval.
Bug: https://bugs.gentoo.org/880131
reuben olinsky [Tue, 1 Nov 2022 05:58:52 +0000 (22:58 -0700)]
sysupdate: Support volatile-root for finding the root partition
The existing logic can't find the root device in scenarios where
the root has been replaced with an overlay. We support looking
at "/run/systemd/volatile-root" to find the original root, similar
to what systemd-repart and gpt-auto-generator do.
Lennart Poettering [Fri, 18 Nov 2022 13:58:30 +0000 (14:58 +0100)]
update TODO
Lennart Poettering [Fri, 18 Nov 2022 13:45:48 +0000 (14:45 +0100)]
Merge pull request #25410 from DaanDeMeyer/mkfs-xfs-fixes
Followups for #25400
Li kunyu [Fri, 18 Nov 2022 07:10:24 +0000 (16:10 +0900)]
boot/measure: fix oom check
Franck Bui [Tue, 15 Nov 2022 10:00:22 +0000 (11:00 +0100)]
test: fix the default timeout values described in README.testsuite
Unlike it was described, the default is 30 min.
Franck Bui [Tue, 15 Nov 2022 08:04:42 +0000 (09:04 +0100)]
meson: install test-kernel-install only when -Dkernel-install=true
This patch fixes the following build failure:
meson.build:3853:8: ERROR: Unknown variable "test_kernel_install_sh".
Fixes #25432.
Franck Bui [Fri, 18 Nov 2022 09:18:19 +0000 (10:18 +0100)]
tests: update install_suse_systemd()
- Use inst_recursive() and image_install() helpers where appropriate
- Update comments to explain why we need to install the test data manually in
$initdir
- Install manual/ in $initdir as TEST-35-LOGIN relies on
manual/test-session-properties
Li kunyu [Fri, 18 Nov 2022 06:03:41 +0000 (06:03 +0000)]
fuzz: fuzz-compress: fix copy-and-paste error: buf -> buf2 (#25431)
Luca Boccassi [Thu, 17 Nov 2022 18:49:40 +0000 (19:49 +0100)]
Merge pull request #25414 from zx2c4-forks/krngseed
EFI random seed post #25319 review fixups
Daan De Meyer [Thu, 17 Nov 2022 11:35:46 +0000 (12:35 +0100)]
kmod-setup: Make sure the tpm module is available early
Required for early boot services such as systemd-pcrphase-sysinit
which need early access to the tpm.
Jason A. Donenfeld [Thu, 17 Nov 2022 15:35:12 +0000 (16:35 +0100)]
Update NEWS and TODO with sd-boot random seed developments
Lennart Poettering [Thu, 17 Nov 2022 14:28:54 +0000 (15:28 +0100)]
Merge pull request #25333 from yuwata/find-esp-part-entry-scheme
find-esp: downgrade and ignore error on retrieving PART_ENTRY_SCHEME
Lennart Poettering [Wed, 16 Nov 2022 17:54:29 +0000 (18:54 +0100)]
signal-util: add common implementation for propagating a signal
i.e. let's add a common logic to be called from a signal handler to
raise the passed signal again.
Follow-up for: #25399
Edson Juliano Drosdeck [Thu, 17 Nov 2022 13:37:08 +0000 (10:37 -0300)]
hwdb: fix Compaq N14KP6 key toggle touchpad (#25404)
Daan De Meyer [Thu, 17 Nov 2022 09:25:06 +0000 (10:25 +0100)]
log: Remove log_ratelimit_debug() macros
These don't make sense anymore since we disable log ratelimiting
when logging at debug level.
Daan De Meyer [Thu, 17 Nov 2022 13:15:28 +0000 (14:15 +0100)]
repart: Write temporary LUKS header to /var/tmp instead of /tmp
This is a relatively large file so let's not create it in memory.
Daan De Meyer [Wed, 16 Nov 2022 16:33:31 +0000 (17:33 +0100)]
Daan De Meyer [Thu, 17 Nov 2022 13:12:48 +0000 (14:12 +0100)]
tmpfile-util: Introduce fopen_temporary_child()
Instead of having fopen_temporary() create the file either next
to an existing file or in tmp/, let's split this up clearly into
two different functions, one for creating temporary files next to
existing files, and one for creating a temporary file in a directory.
Yu Watanabe [Thu, 17 Nov 2022 09:11:38 +0000 (18:11 +0900)]
network: tc-cake: add support to specify RTT
Jason A. Donenfeld [Wed, 16 Nov 2022 18:46:41 +0000 (19:46 +0100)]
boot: only use __builtin_object_size with -O>0
__builtin_object_size() returns -1 with -O0, so disable this and warn
about it instead.
Jason A. Donenfeld [Wed, 16 Nov 2022 18:34:53 +0000 (19:34 +0100)]
boot: do not truncate random seed file
There are concerns about the FAT file system driver exploding if we try
to do this, so just leave the bytes zeroed out instead.
Jason A. Donenfeld [Wed, 16 Nov 2022 18:27:50 +0000 (19:27 +0100)]
random-seed: handle post-merge review nits
These are various misc things that came up after merging.
Marcus Schäfer [Wed, 16 Nov 2022 15:25:08 +0000 (16:25 +0100)]
Handle MACHINE_ID=uninitialized
systemd supports /etc/machine-id to be set to: uninitialized
In this case the expectation is that systemd creates a new
machine ID and replaces the value 'uninitialized' with the
effective machine id. In the scope of kernel-install we
should also enforce the creation of a new machine id in this
condition
Lennart Poettering [Mon, 14 Nov 2022 16:26:45 +0000 (17:26 +0100)]
pcrphase: add $SYSTEMD_PCRPHASE_STUB_VERIFY env var for overriding stub check
Vitaly Kuznetsov [Tue, 15 Nov 2022 13:57:23 +0000 (14:57 +0100)]
shared/tpm2-util: Fix "Error: Esys invalid ESAPI handle (
40000001)" warning
systemd-cryptenroll complains (but succeeds!) upon binding to a signed PCR
policy:
$ systemd-cryptenroll --unlock-key-file=/tmp/passphrase --tpm2-device=auto
--tpm2-public-key=... --tpm2-signature=..." /tmp/tmp.img
ERROR:esys:src/tss2-esys/esys_iutil.c:394:iesys_handle_to_tpm_handle() Error: Esys invalid ESAPI handle (
40000001).
WARNING:esys:src/tss2-esys/esys_iutil.c:415:iesys_is_platform_handle() Convert handle from TPM2_RH to ESYS_TR, got: 0x40000001
ERROR:esys:src/tss2-esys/esys_iutil.c:394:iesys_handle_to_tpm_handle() Error: Esys invalid ESAPI handle (
40000001).
WARNING:esys:src/tss2-esys/esys_iutil.c:415:iesys_is_platform_handle() Convert handle from TPM2_RH to ESYS_TR, got: 0x4000000
New TPM2 token enrolled as key slot 1.
The problem seems to be that Esys_LoadExternal() function from tpm2-tss
expects a 'ESYS_TR_RH*' constant specifying the requested hierarchy and not
a 'TPM2_RH_*' one (see Esys_LoadExternal() -> Esys_LoadExternal_Async() ->
iesys_handle_to_tpm_handle() call chain).
It all works because Esys_LoadExternal_Async() falls back to using the
supplied values when iesys_handle_to_tpm_handle() fails:
r = iesys_handle_to_tpm_handle(hierarchy, &tpm_hierarchy);
if (r != TSS2_RC_SUCCESS) {
...
tpm_hierarchy = hierarchy;
}
Note, TPM2_RH_OWNER was used on purpose to support older tpm2-tss versions
(pre https://github.com/tpm2-software/tpm2-tss/pull/1531), use meson magic
to preserve compatibility.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Lennart Poettering [Wed, 16 Nov 2022 17:42:07 +0000 (18:42 +0100)]
Merge pull request #25399 from DaanDeMeyer/siginfo-crash
crash-handler: Make sure we propagate the original siginfo
Daan De Meyer [Wed, 16 Nov 2022 15:40:00 +0000 (16:40 +0100)]
Merge pull request #25096 from DaanDeMeyer/journald-log-fixes
journal: Ratelimit more journald log messages
Daan De Meyer [Sun, 5 Jun 2022 12:25:22 +0000 (14:25 +0200)]
crash-handler: Make sure we propagate the original siginfo
If we call raise(), we lose the information from the original signal.
If we use rt_sigqueueinfo(), the original siginfo gets reused which
is helpful when debugging crashes.
Daan De Meyer [Wed, 16 Nov 2022 14:06:55 +0000 (15:06 +0100)]
sigbus: Add fallback in case rt_tgsiqqueueinfo() fails
Daan De Meyer [Wed, 16 Nov 2022 10:17:52 +0000 (11:17 +0100)]
mkfs-util: Add support for rootless xfs population
We use mkfs.xfs's protofile (-p) support to achieve this. The
protofile is a description of the files that should be copied into
the filesystem. The format is described in the manpage of mkfs.xfs.
Luca Boccassi [Wed, 16 Nov 2022 14:07:54 +0000 (15:07 +0100)]
Merge pull request #25319 from zx2c4-forks/krngseed
boot: implement kernel EFI RNG seed protocol with proper hashing
Daan De Meyer [Wed, 16 Nov 2022 14:05:24 +0000 (15:05 +0100)]
sigbus: Make sure the signal is delivered to the same thread