Commit Graph
59933 Commits
Author SHA1 Message Date
Jan Janssen 757d6c916d stub: Refuse operation if kernel lacks EFI handover support 2022-09-20 12:54:53 +02:00
Jan Janssen 6944c61163 stub: Refuse operating above 4G if not supported
We could try to relocate these but that is probably not needed. So far
we have not been bitten by this in the real world and kernels we boot
likely already support this anyway.
2022-09-20 12:54:53 +02:00
Jan Janssen d62c177756 stub: Provide a proper boot params page
The boot params passed to the kernel only has to be one page in size
and the size of the setup header has to be calculated as it depends on
the boot protocol version supported by the kernel.
2022-09-20 12:54:47 +02:00
Jan Janssen e163680774 stub: Fix above 4G boot
The kernel x86 boot protocol does not expect this value to be set when
using EFI handover protocol. If the stub is loaded above 4G we would
end up discarding the high bits, breaking boot.

Fixes: #24707
2022-09-20 12:45:07 +02:00
Jan Janssen 55b5daf9b2 boot: Change the way we provide builtins
Relying on symbol aliasing seems to be rather unreliable. Instead just
use some light #ifdefery.

Fixes: #24630
2022-09-20 12:43:48 +02:00
Yu Watanabe 2f9d231738 udev: use block_device_is_whole_disk()
No functional changes, just refactoring.

Note, this also makes synthesize_change() propagate the error from
synthesize_change_one(). However, the caller of synthesize_change()
ignores the failure anyway, hence the change does not take any effect.
2022-09-20 09:44:19 +02:00
Yu Watanabe 83b94cf10e sd-device: use fd_reopen() at one more place
It provides recognizable error if /proc is not mounted.
2022-09-20 09:41:34 +02:00
William Roberts 3fab44b2ff cryptsetup: use TPM flags over bool
This works becuase TPM2_FLAGS_USE_PIN is 1 and bool is a 1 so the bits
line up as expected, however if for some reason flags change values and
for clarity check if the boolean indicates this flag and pass the flag
value.

Signed-off-by: William Roberts <william.c.roberts@intel.com>
2022-09-20 08:05:33 +09:00
Yu Watanabe 57c15ca357 meson: make several tests run sequentially
Follow-up for f93ba37530.
2022-09-20 02:56:57 +09:00
Yu Watanabe 8ef0fc7acc Merge pull request #24744 from yuwata/mkdir-chase-symlinks
mkdir: chase_symlinks_and_stat() does not return 0
2022-09-20 01:43:00 +09:00
Daan De Meyer 4cde368a08 Merge pull request #24731 from yuwata/sd-device-opendir
sd-device: introduce device_opendir()
2022-09-19 17:06:38 +02:00
Yu Watanabe f8d5048dbf test: add more test cases for mkdir_p_safe() and mkdir_p_root() 2022-09-19 22:55:47 +09:00
Yu Watanabe f1d93b84bc mkdir: chase_symlinks_and_stat() does not return 0
This reverts commits e22916e61d and
1e146d7382.
2022-09-19 22:54:05 +09:00
Yu Watanabe 4b544b5ffd Merge pull request #24742 from keszybz/hwdb-252
hwdb update for v252-rc1
2022-09-19 22:51:13 +09:00
Lennart Poettering f92ebc86dd tpm2-util: make tpm2_pcr_bank_from_string() case-insensitive
This way we can use it directly in measure.c, and thus remove a bit of
redundant code.

OpenSSL prefers uppercasing the MD names, others don't hence let's be
lenient here.
2022-09-19 22:50:44 +09:00
Yu Watanabe 97268bdf6f udev: use device_opendir() 2022-09-19 19:44:33 +09:00
Yu Watanabe 62ccd11d38 sd-device: use device_opendir() 2022-09-19 19:42:36 +09:00
Yu Watanabe db3049b6f0 sd-device: introduce device_opendir() 2022-09-19 19:42:02 +09:00
Zbigniew Jędrzejewski-Szmek f6a646b58b hwdb: run "update-hwdb-autosuspend" 2022-09-19 12:27:37 +02:00
Zbigniew Jędrzejewski-Szmek ada4bb13ec hwdb: run "update-hwdb"
As usual, it seems to be mostly additions and corrections. Sadly, it seems a
bit of mojibake has crept in in various places. But it's hard to correct, in
particular because it's hard to detect all cases automatically. I think we can
ignore this for now.

When I run this a few weeks ago, ma-large.txt was gutted and 20-OUI.hwdb was
siginificantly smaller. For whatever reasons, it's back to normal now.
2022-09-19 12:27:17 +02:00
Yu Watanabe a80ce209b9 udev: use sd_device_get_sysattr_value()
No functional changes, just refactoring.
2022-09-19 18:04:13 +09:00
Yu Watanabe c42033e7be udev: use faccessat()
No functional changes, just refactoring.
2022-09-19 18:04:13 +09:00
Yu Watanabe 4bc9d8165b sd-device: re-implement device_sysattrs_read_all() without recursion 2022-09-19 18:04:13 +09:00
Yu Watanabe 5b304c7052 sd-device: use faccessat()
No functional changes, just refactoring.
2022-09-19 18:04:13 +09:00
Yu Watanabe 65c0f14bc1 sd-device: use fstatat()
No functional changes, just refactoring.
2022-09-19 18:04:13 +09:00
Yu Watanabe bc5e8ebbfb sd-device: use path_hash_ops to store sysattrs
As the stored values are actually path. Just for safety.

This also drops unnecessary duplication of path.
2022-09-19 18:04:12 +09:00
Jörg Thalheim e7f64b8962 also provide credentials in ExecStartPre
Systemd's credential interface is not yet natively supported by all
programs yet. Hence it's often required to run scripts to massage
secrets in the way the programs expect it.

This commit allows the ExecStartPre commands to access credentials.

Fixes https://github.com/systemd/systemd/issues/19604
2022-09-19 10:36:25 +02:00
Yu Watanabe d64b44be52 test: add testcase for link priority 2022-09-19 06:08:58 +09:00
Yu Watanabe 5b4671ec47 Merge pull request #24646 from yuwata/udev-node-symlink_atomic
udev: introduce symlink_atomic_full() and use it
2022-09-19 05:25:58 +09:00
Yu Watanabe 3afe230d4a Merge pull request #24725 from yuwata/blockdev-util-introduce-block_device_get_whole_disk
blockdev-util: introduce block_device_get_whole_disk()
2022-09-19 05:25:09 +09:00
Yu Watanabe 626f15a4c1 Merge pull request #24730 from yuwata/dissect-image-drop-reference-to-decrypted-image
dissect-image: introduce dissected_image_relinquish()
2022-09-19 05:24:35 +09:00
BerndAdameit a3e03a3f18 man/systemd-run: Refer to man-pages project (man7.org) when citing bash(1) 2022-09-19 00:32:34 +09:00
Yu Watanabe 28f9bcd65a path-util: add examples for path_make_relative() and path_make_relative_parent()
Addresses https://github.com/systemd/systemd/pull/24646#discussion_r973691797.
2022-09-19 00:30:29 +09:00
Yu Watanabe e330f97a89 tree-wide: drop unused reference to DecryptedImage 2022-09-18 23:47:20 +09:00
Yu Watanabe 3044d343dd tree-wide: use dissected_image_relinquish() 2022-09-18 23:47:20 +09:00
Yu Watanabe f906075a15 dissect-image: introduce dissected_image_relinquish() 2022-09-18 23:47:20 +09:00
Yu Watanabe d50c55bd43 udev: do not ignore -ENOENT from sd_device_get_devname() for block device
We already checked that the sd_device object 'dev' is for a whole block
device. So, -ENOENT should not be triggeered here, and if it is, there
exists something spurious. Hence we should not ignore the failure.
2022-09-18 23:32:24 +09:00
Yu Watanabe 8f71534e06 udev: use block_device_get_whole_disk()
This should not change anything effectively.
2022-09-18 23:30:21 +09:00
Yu Watanabe 6d42138593 udev-node: use symlink_atomic_full_label() to create devlink
If the filename of a device symlink is too long, then the temporary
filename may become invalid, and we fail to create symlink.

The function `tempfn_random()` used in symlink_atomic_full() generates
a safe temporary filename.

Note that, thanks to the PR #23043, now only one worker can handle
the same symlink simultaneously. Hence, the device ID based temporary
filename is not necessary.
2022-09-18 23:23:23 +09:00
Daan De Meyer c72aed4c20 Merge pull request #24720 from yuwata/dissect-image-take-reference
dissect-image: make DissectedImage object take reference to DecryptedImage and LoopDevice
2022-09-18 16:08:13 +02:00
Yu Watanabe 5a27af52c7 blockdev-util: change return value when a partition device is passed to partition_enumerator_new()
To make it consistent what returned by block_device_get_whole_disk().
2022-09-18 22:54:20 +09:00
Yu Watanabe 55a437f8b2 blockdev-util: introduce block_device_get_whole_disk() 2022-09-18 22:54:20 +09:00
Yu Watanabe c07186ec03 blockdev-util: split-out block_device_is_whole_disk()
No functional changes, just preparation for later commits.
2022-09-18 22:54:20 +09:00
Yu Watanabe 8b6a70f699 Merge pull request #24719 from yuwata/dissect-image-dissected-image-new
dissect-image: introduce dissected_image_new()
2022-09-18 22:41:49 +09:00
Yu Watanabe 23d3dfc369 sd-device: refuse block device without subsystem
Previously, even if sd_device_get_subsystem() returns -ENOENT for block
device, we accepted that. This makes the check slightly stricter.
2022-09-18 15:35:56 +02:00
Daan De Meyer 4f0d1cd011 Merge pull request #24691 from yuwata/udev-node-check-existence
udev: check existence of device node
2022-09-18 11:38:56 +02:00
Daan De Meyer a36b572166 Merge pull request #24710 from yuwata/test-50-dissect-cleanups
TEST-50-DISSECT: cleanups
2022-09-18 11:21:30 +02:00
Yu Watanabe 0f75b0c589 dissect-image: free crypt_device object before trying to activate with unique name
Otherwise we get error from libcryptsetup like the following:
systemd[1234]: Cannot use device /dev/loop5 which is in use (already mapped or mounted).
2022-09-18 11:19:33 +02:00
Yu Watanabe a1c3628b19 udev: downgrade log level when device node is already removed
Follow-up for 790da548b0.
2022-09-18 10:51:25 +02:00
Yu Watanabe babd5b08b5 dissect-image: introduce DISSECTED_PARTITION_NULL
Currently, it is not necessary to set partno or architecture in
dissect_image_new(), but just for safety.
Preparation for later commits.
2022-09-18 17:26:22 +09:00