Commit Graph
47024 Commits
Author SHA1 Message Date
Lennart Poettering 51778dea0d dissect-image: also store the image size in DissectedImage
That way we can easily access it the same way regardless if we operate
on a block device or on a regular file.
2023-12-13 17:35:22 +01:00
Lennart Poettering 6bc201343f loop-util: remember if we created the LoopDevice
Let's store in a bool whether a LoopDevice object was created via
loop_device_open() or loop_device_make().
2023-12-13 17:35:22 +01:00
Lennart Poettering c961a8c605 loop-util: also store the device size in LoopDevice
That makes the field easily accessible, just as the sector size.
2023-12-13 17:35:22 +01:00
Lennart Poettering 01db9c85cf blockdev-util: add new helper blockdev_get_device_size()
This function is just a wrapper around the BLKGETSIZE64. Which is a
pretty simple ioctl. The only reason to wrap it, is that the headers we
need to call it are a bit messy (as "linux/fs.h" is incompatible with
certain glibc headers). Hence add the simple helper that wraps it and
allows us to do the header mess needed in one file only.

It's also nicely symmetric to blockdev_get_sector_size().
2023-12-13 17:35:22 +01:00
Luca Boccassi b896058883 Merge pull request #30450 from poettering/cgroups-delegate-attr-update
cgroup: bring list of delegated cgroup attributes up-to-date with cur…
2023-12-13 13:50:41 +00:00
Zbigniew Jędrzejewski-Szmek 0b4cf0a540 Merge pull request #30232 from keszybz/ukify-imports
Use exec() to import ukify
2023-12-13 14:38:03 +01:00
Mike Yuan 3e5b96eed3 core/unit: clean up unit_log_resources
* Use a unified struct to store accounting fields/suffixes
* Use strextendf_with_separator where appropriate
* Don't mix stack and heap allocation for one iovec array
2023-12-13 20:42:06 +08:00
Mike Yuan b1b84bc590 core/unit: raise log level for unit_log_resources on certain memory thresholds
We already do this for all other types of accountings. Let's
make this nicer for memory accounting too.
2023-12-13 20:42:06 +08:00
Mike Yuan 55b8f8100c macro-fundamental: add U64_{K,M,G}B 2023-12-13 20:42:05 +08:00
Mike Yuan ba354c164f iovec-util: add missing assertion 2023-12-13 20:42:05 +08:00
Lennart Poettering 2c70a81de6 cgroup: bring list of delegated cgroup attributes up-to-date with current kernels
THis brings the list of attributes to delegate to managers of subcgroups
to the state of kernel 6.6.

We probably should unify this list, and maybe generate it automatically
from /sys/kernel/cgroup/delegate, but let's do that another time.
2023-12-13 09:58:45 +01:00
Lennart Poettering f2ad89248b varlink: improve compat with varlink C reference implementation
The reference implementation seems to set the 'parameters' field for
method calls to 'null' if nothing is specified on its command line. We
so far only could deal if the parameters field was unset or set to the
empty object. Let's also accept the 'null' type.
2023-12-13 09:39:10 +01:00
Yu Watanabe 997ba18af1 find-esp: do not skip fstype check even when --root= or --image= is specified
The check was introduced by 63105f33ed,
but there is no reason to skip the check even in such cases.
2023-12-13 14:19:28 +09:00
Yu Watanabe 9bbd3c699c find-esp: introduce verify_esp_flags_init() helper function
And split VERIFY_ESP_RELAX_CHECKS into two.

No functional change, just refactoring.
2023-12-13 14:19:28 +09:00
Yu Watanabe 5c831ddec8 find-esp: do not fail when /boot on btrfs RAID on searching ESP or xbootldr
When /boot or friends is on btrfs RAID, btrfs_get_block_device_at() will
succeed with 0 and provide zero devnum. Then,
- if we are previleged, devname_from_devnum() maps the devnum to
  /run/systemd/inaccessible/blk, and the subsequent verification by blkid
  will fail,
- if we are unprevileged, sd_device_new_from_devnum() will fail.

This makes
- when find_esp() or find_xbootldr() is called without any paths, that
  is, called with the searching mode, then returns -ENOKEY, which should
  be handled gracefully by the caller,
- when they are called with an input path, then they provide the proper
  error message and suggestion.

Fixes RHBZ#2251262 (https://bugzilla.redhat.com/show_bug.cgi?id=2251262).
2023-12-13 14:19:28 +09:00
Yu Watanabe 0977039bdc Merge pull request #30433 from yuwata/network-nexthop-cleanups
network: introduce ManageForeignNextHops=
2023-12-13 14:16:27 +09:00
Yu Watanabe 740539835a Merge pull request #30453 from poettering/dissect-fixes
dissect-image: various fixes
2023-12-13 14:15:05 +09:00
Lennart Poettering 748e87a791 dissect-tool: right-align the partition number
The right-alignment was applied to the wrong column, because neither
ee8e497d24 nor
1474d7ac2d updated the column count as
they should have.
2023-12-13 00:56:48 +00:00
David Tardon 38e1035bef openssl-util: avoid freeing invalid pointer 2023-12-13 07:28:30 +08:00
Lennart Poettering 3f8229fbb0 dissect-image: move comment to right place
The image name is extracted from the image path originally passed in,
i.e. not the contents of the image. And the image UUID is directly
retrieved from the partition table, hence also not from the contents.
Let's hence move the comment to separate out the stuff extract from the
file systems (and thus only available when mounting/with privs/with
block devices) from the data available without any of that.
2023-12-12 16:20:10 +01:00
Lennart Poettering 8d5e61db43 dissect-image: fix fd leak in dissected_image_acquire_metadata()
We have to go through the "finish" label to properly close all pipes in
the error path, so that we don't leak them.
2023-12-12 16:19:50 +01:00
Lennart Poettering a8e8bcfb7d dissect-image: don't try to validate an extension release file with no image name
Otherwise we might validate the OS release file instead…
2023-12-12 16:19:31 +01:00
Lennart Poettering 29b4db7ede dissect-image: handle 'continue' event in metadata acquisition uniformly
Let's jump to the same label in all cases, that closes the associated
pipe, systematically.
2023-12-12 16:19:21 +01:00
Lennart Poettering 3ee413e632 dissect-image: path[] is now defined for all metadata fields
There's no point in handling a case that never can happen.
2023-12-12 16:19:05 +01:00
Lennart Poettering 026a8b022e execute: improve log message about TTY ownership reset failures 2023-12-12 16:06:08 +01:00
Yu Watanabe bbc05bec98 network/nexthop: introduce ManageForeignNextHops= boolean setting
Closes #29034.
2023-12-12 23:51:10 +09:00
Lennart Poettering f121efd392 execute: handle gracefully if we cannot lock /dev/console when resetting tty due to perms
This is the common case in --user instances, hence handle this
gracefully.

This should be safe since user instances won't get access to
/dev/console-related ttys anyway, but only their own ptys.
2023-12-12 22:02:12 +09:00
Yu Watanabe 1c860010ce Merge pull request #30441 from poettering/nspawn-fixlets
nspawn: two trivial nspawn tweaklets
2023-12-12 22:00:35 +09:00
Yu Watanabe 61738a1a92 Merge pull request #30437 from YHNdnzj/job-start-msg
core/job: emit job start message if we're only waiting for unit state
2023-12-12 21:59:34 +09:00
Mike Yuan 6cfce71b50 hibernate-resume: don't wait forever if hibernate info is from EFI 2023-12-12 12:36:58 +00:00
Lennart Poettering af255804b2 nspawn: drop redundant assignments 2023-12-12 12:06:34 +01:00
Lennart Poettering 1f87cc8cd9 nspawn: suffix some paths in log messages with /, as per coding style 2023-12-12 12:06:21 +01:00
Yu Watanabe 2527b725ba Merge pull request #30156 from yuwata/network-mtu
network: accept arbitrary size of MTU in .network
2023-12-12 19:03:21 +09:00
Yu Watanabe b0e2245219 Merge pull request #30426 from mrc0mmand/nft-shenanigans
network: show the reason why NFT operation failed
2023-12-12 18:56:57 +09:00
Frantisek Sumsal b7d435925d network: actually show the unexpected flags
The original version would yield a slightly _unexpected_ message for
this [Address] section:

[Address]
Address=10.9.3.1/24
HomeAddress=yes
ManageTemporaryAddress=yes

systemd-networkd[68396]: /run/systemd/network/25-address-static.network: unexpected address flags "n/a" were configured. Ignoring [Address] section from line 144.

Let's instead show the unexpected flags:

systemd-networkd[69160]: /run/systemd/network/25-address-static.network: unexpected address flags "home-address,manage-temporary-address" were configured. Ignoring [Address] section from line 144.
2023-12-12 18:56:43 +09:00
Mike Yuan d8deb18720 core/job: emit job start message if we're only waiting for unit state
Currently, start/stop messages for device units are not used, since
job_perform_on_unit() does nothing and we simply wait for unit status
change. I think we still want some nice log messages explaining what
the start jobs for devices are doing, so let's fix this.
2023-12-12 17:04:30 +08:00
Mike Yuan 3f4a7a472f core/device: add stopping job message
The use case for stopping a device unit is indeed narrow,
but we still want to show a clear message.

Preparation for later commits.
2023-12-12 16:45:30 +08:00
Yu Watanabe 60f4cfe4fc network: drop redundant 'struct' 2023-12-11 20:11:06 +00:00
Mike Yuan 39a4c452d2 fstab-generator: disable default deps if x-systemd.{wanted,required}-by= is used
Fixes #30273
2023-12-12 00:34:32 +08:00
Luca Boccassi bf8726d1ee Merge pull request #30363 from yuwata/analyze-find-template
analyze: also find template unit when an instance is specified
2023-12-11 15:56:21 +00:00
Luca Boccassi 1eeaa93de3 executor: don't duplicate FD array to avoid double closing
Just use ExecParam directly, as these are all internal to sd-exec now
anyway. Avoids double close when execution fails after FDs are set up
for inheritance and were already re-arranged.

Fixes https://github.com/systemd/systemd/issues/30412
2023-12-11 15:55:50 +00:00
Yu Watanabe a9235a9488 Merge pull request #30422 from yuwata/network-tiny-fixes
network: tiny fixes
2023-12-12 00:23:11 +09:00
Frantisek Sumsal 13b8fb98b9 network: show the reason why NFT operation failed 2023-12-11 15:28:02 +01:00
Frantisek Sumsal 4d9a30f14f network: add a missing space 2023-12-11 14:50:32 +01:00
Daan De Meyer dbab005645 kernel-install: Fix inspect with --root= when no version is specified
Using the kernel version from the host is incorrect in this case, so
fix the logic so it handles no version being specified correctly with
--root=.
2023-12-11 12:06:51 +00:00
ksaleem 9fb2a61830 bootctl: fix case-sensitive comparisons in reporting bootloader entries
Fixes #30159
2023-12-11 10:51:56 +00:00
Yu Watanabe 004e22412e Merge pull request #30389 from keszybz/test-ukify-du
Remove temporary directories created by test_ukify
2023-12-11 18:37:05 +09:00
Daan De Meyer fc7cdb2dde kernel-install: Look for uki.conf in /usr/lib/kernel as well 2023-12-11 10:29:57 +01:00
Yu Watanabe cfe69f962b network: drop unused Manager.routes_foreign 2023-12-11 15:44:08 +09:00
Yu Watanabe e924dc598e network: adjust log message
The address or neighbor processed here may not be foreign.
2023-12-11 15:43:03 +09:00