| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As the path may be outside of the specified dir_fd.
|
|
|
|
|
|
|
|
|
|
| |
root directory
Usually, we pass the file descriptor of the root directory to chaseat()
when `--root=` is not specified. Previously, even in such case, the
result was relative, and we need to prefix the path with "/" when we
want to pass the path to other functions that do not support dir_fd, or
log or show the path. That's inconvenient.
|
|\
| |
| | |
gpt-auto-generator: do not error out when no partitions are found
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
E.g. in logs on jammy-ppc64el in https://github.com/systemd/systemd/pull/27294:
Apr 16 17:42:50 H systemd-gpt-auto-generator[300]: Failed to dissect partition table of block device /dev/sda: No message of desired type
Apr 16 17:42:50 H (sd-execu[295]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
ee0e6e476e61d4baa2a18e241d212753e75003bf made this particular condition not an
error. But for other errnos we want to print a better message too.
dissect_loop_device_and_warn() already does this, but it always prints the
error at error level. We want to suppress some of the errors, so let's make the
print helper public and do the error suppression in the caller.
|
| | |
|
| |
| |
| |
| |
| |
| | |
See 9fd8226312 for more details.
Follow-up to c9210b7470.
|
|\ \
| |/
|/| |
minor tweaks to kmod-setup.c
|
| |
| |
| |
| |
| | |
detect_vm() is cheap, because cached, let's hence do that early before
we get out the big guns and sweep through sysfs.
|
| | |
|
|/ |
|
|
|
|
| |
This reverts commit e7e6ce5f8d467304731a98e8a140e69713f1bf07.
|
|\
| |
| | |
boot: Improve timer frequency detection
|
| |
| |
| |
| |
| | |
Aside from being more accurate on CPUs that report the information this
is also orders of magnitude faster than sleeping for 1ms.
|
| |
| |
| |
| | |
This is in preparation for the next commit.
|
| | |
|
| |
| |
| |
| | |
Follow-up for 598fd4da1cf9665834110583fd9133073cc12481.
|
| |
| |
| |
| |
| |
| |
| | |
If getty-generator runs in the initrd, the corresponding tty might not
have been instantiated yet in /dev, which means a serial getty is not
spawned on it. Instead, let's instantiate the serial-getty when the
device appears so that it always gets instantiated.
|
| |
| |
| |
| |
| |
| |
| | |
This makes the bpf LSM check generic, so that we can use it elsewhere.
it also drops the caching inside it, given that bpf-lsm code in PID1
will cache it a second time a stack frame further up when it checks for
various other bpf functionality.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Running systemd with IP accounting enabled generates many bpf maps (two
per unit for accounting, another two if IPAddressAllow/Deny are used).
Systemd itself knows which maps belong to what unit and commands like
`systemctl status <unit>` can be used to query what service has which
map, but monitoring these values all the time costs 4 dbus requests
(calling the .IP{E,I}gress{Bytes,Packets} method for each unit) and
makes services like the prometheus systemd_exporter[1] somewhat slow
when doing that for every units, while less precise information could
quickly be obtained by looking directly at the maps.
Unfortunately, bpf map names are rather limited:
- only 15 characters in length (16, but last byte must be 0)
- only allows isalnum(), _ and . characters
If it wasn't for the length limit we could use the normal unit escape
functions but I've opted to just make any forbidden character into
underscores for maximum brievty -- the map prefix is also rather short:
This isn't meant as a precise mapping, but as a hint for admins who want
to look at these.
(Note there is no problem if multiple maps have the same name)
Link: https://github.com/povilasv/systemd_exporter [1]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Let's be more careful with generating error codes for (expected) error
causes.
This does not introduce new error conditions, it just changes what we
return under specific cases, to make things nicely recognizable in each
case. Most importantly this detects if fdinfo reports a pid of "-1" for
pidfds with processes that are already reaped (and thus have no PID
anymore)
None of our current users care about these error codes, but let's get
this right for the future.
|
| |
| |
| |
| |
| | |
Instead of invoking find_executable on our own, use the variants of exec
provided by glibc which does this for us.
|
| |
| |
| |
| | |
Fixes https://github.com/systemd/systemd/issues/27275
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit f90eea7d18d9ebe88e6a66cd7a86b618def8945d
virt: Improve detection of EC2 metal instances
Added support for detecting EC2 metal instances via the product
name in DMI by testing for the ".metal" suffix.
Unfortunately this doesn't cover all cases, as there are going to be
instance types where ".metal" is not a suffix (ie, .metal-16xl,
.metal-32xl, ...)
This modifies the logic to also allow those new forms.
Signed-off-by: Benjamin Herrenschmidt <benh@amazon.com>
|
| |
| |
| |
| | |
Let's reduce image size by using a smaller kernel package.
|
| |
| |
| |
| |
| | |
Add an accelerometer mount matrix for Lenovo Yoga Tablet 2 851F/L, to fix
screen rotation now that the kernel has support for the LSM303D IMU.
|
|\ \
| | |
| | | |
test: modernize test-async a bit
|
| | |
| | |
| | |
| | |
| | | |
Addresses https://github.com/systemd/systemd/pull/27283#pullrequestreview-1386816102.
Follow-up to 1a127aa02b.
|
| | |
| | |
| | |
| | |
| | | |
Mainly to give it some debug output to, hopefully, see why it sometimes
gets stuck in CI when run with sanitizers.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Propagating $NOTIFY_SOCKET is typically dangerous. Let's unset it unless
explicitly requested to keep it.
Fixes #27288.
Replaces #27291.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It'll be out this week. We can't update the man pages before it is realeased,
but we can use it for mkosi builds and do some very late testing.
Also, use filepath specification for /bin/pkg-config. We need it for meson, and
meson calls it directly by this path. pkgconfig is a virtual Provides on
pkgconf-pkg-config, and the indirection here just obfuscates things with no
benefit.
Add it explicitly for centos too. (I think it is pulled in by packages which
contain pkg-config modules anyway, but it's better to be explicit).
|
| |
| |
| |
| | |
Preparation for rewriting kernel-install in C.
|
|\ \
| | |
| | | |
test: a bunch of assorted tweaks, Saturday edition
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
They're used in repart, but are not part of the "common" specifier
lists, so cover them explicitly.
|
| | |
| | |
| | |
| | | |
Also, sneak in coverage for "less popular" cell types.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Otherwise it keeps printing stuff to the journal/console, adding
unnecessary noise.
|
| | | |
|
|\ \ \
| | | |
| | | | |
socket-util: introduce CMSG_FIND_AND_COPY_DATA()
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On RISCV32, time_t is 64bit and size_t is 32bit, hence the timestamp
data in message header may not be aligned.
Fixes #27241.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The cmd(3) man page says about CMSG_DATA():
> The pointer returned cannot be assumed to be suitably aligned for
> accessing arbitrary payload data types. Applications should not cast
> it to a pointer type matching the payload, but should instead use
> memcpy(3) to copy data to or from a suitably declared object.
Hence, if we want to use unaligned data in cmsg, we need to copy it
before use. That's typically important for reading timestamps in
RISCV32, as the time_t is 64bit and size_t is 32bit on the system.
|
| | | |
| | | |
| | | |
| | | | |
Addresses https://github.com/systemd/systemd/pull/27254#discussion_r1165267046.
|