IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
'[[ not found'
(cherry picked from commit c7986bc9b64e095399c3e380441b4de26d1276a1)
(cherry picked from commit 52d4f5ec539c746c9a61a3bb4607f965a36675fe)
Debugging mount unit failures caused by systemd not being able to
create the mount point is currently rather hard. Let's log about
failures to create mount points to simplify debugging.
(cherry picked from commit ce427d0e73667e1b125c82c5c77f98dd9fbe561d)
(cherry picked from commit 915f25da9ebbe93d9768eca3b82897bb9fddc42b)
Before this fix, when recursive-errors was set to 'no' during a systemd-analyze
verification, the parent slice was checked regardless. The 'no' setting means that,
only the specified unit should be looked at and verified and errors in the slices should be
ignored. This commit fixes that issue.
Example:
Say we have a sample.service file:
[Unit]
Description=Sample Service
[Service]
ExecStart=/bin/echo "a"
Slice=support.slice
Before Change:
systemd-analyze verify --recursive-errors=no maanya/sample.service
Assertion 'u' failed at src/core/unit.c:153, function unit_has_name(). Aborting.
Aborted (core dumped)
After Change:
systemd-analyze verify --recursive-errors=no maanya/sample.service
{No errors}
(cherry picked from commit f660c7fa56b247c278fdb2ebcfea37912f249524)
(cherry picked from commit e48c57c5c2f6af3601f6e0f66d77e548efe14f93)
kernel-install uses do_execute(). We would log whenever a spawned child
finished, but we would not log anything when the child is launched. When the
children log output without a prefix (as the kernel-install plugins do), it
is hard to see where that output is coming from.
(cherry picked from commit 9ec4f7c7a4f4d56de6d00adbfe5d316edd0ec314)
(cherry picked from commit da0536a111605666b3ef165d494d5bacb262076b)
Follow-up for 38f901791f3c4b1cbd04b71323bbef2fdab65f83
(cherry picked from commit 1f998158a988fcf4cd182d9de27e1d8b16cfe474)
(cherry picked from commit 839117de6c93fcdac201f38e84c0cc1a4b2db638)
I was missing an example of how to use cryptenroll. We have that, but in
another page. Instead of repeating, let's just direct the user to the right
place.
Also, reformat synopsis to the "official" non-nested syntax.
(cherry picked from commit 38e3c61dbb1ad69e7df910d07fa8b47f3d97f660)
(cherry picked from commit ddfbdad6bbbad1b92f8cad64582edba93bfd3221)
Both styles were mixed in the file, but I find the latter much nicer,
because it's not the func that is the pointer, but the return type.
(cherry picked from commit 00d811a5482fda1a6c2b9362d047da2dcd1d7418)
(cherry picked from commit 3fec10d500a48aefc88beaa02ea6e623641125b5)
"/dev" or "/dev/" is the mount point, not a device path. In particular,
'systemctl status /dev' clearly does not refer to a device, so let's tweak
the code a bit to say that those are not device paths.
(Treating "/../dev" same as "/dev" would be also be reasonable, but that
requires chase(), which requires disk access, which we don't want to do from
this lightweight function.)
(cherry picked from commit 8f1998b8d3a5bfe61ee4d6d6aa6bb2efb94074c0)
(cherry picked from commit fc13a268128c25e9da18f7dd11c5b524cc8ae1c2)
I think that those functions should be adjusted, but let's first add a test to
establish current behaviour.
(cherry picked from commit bf9a49a5534316353b9fdda1c40026781bc6bda8)
(cherry picked from commit 1025ef21a2aae52ff9a71547f8faa728e0477557)
Fixes a bug introduced by 0843ec6c44c7b41b14f6f32d3ee7039e5e615296.
Fixes https://github.com/systemd/systemd/issues/29145.
(In upstream, the issue is fixed by 8d3c5b39b9bbc89953d1da3e9fbff1524c952ac6).
Realistically, the only thing that the caller can do is ignore failures related
to missing credentials. If the caller requires some credentials to be present,
they should just check which output variables are not NULL. One of the callers
was already doing that, and the other wanted to, but missed -ENOENT. By
suppressing -ENOENT and -ENXIO, both callers are simplified.
Fixes a warning at boot:
systemd-vconsole-setup[221]: Failed to import credentials, ignoring: No such file or directory
(cherry picked from commit 55ace8e5c58441d1a2c64b297a38b232ef0c0e28)
Once we've flushed the runtime journal to /var, stop trying to open
it since that will just fail with ENOENT all the time.
(cherry picked from commit 418a4987775280adef4e6ac4e474937ea89f0f5c)
(cherry picked from commit 01469405c7b9ef175a16c89c4a518798d2c8f65d)
...
uint8_t c;
struct trie_node *child;
for (p = 0; (c = trie->strings->buf[node->prefix_off + p]); p++) {
_cleanup_free_ struct trie_node *new_child = NULL;
_cleanup_free_ char *s = NULL;
ssize_t off;
if (c == search[i + p])
continue;
...
When '®' is present in search, c is 194, search[i + p] is -62, c is not equal
to search[i + p], but c should be equal to search[i + p].
(cherry picked from commit b53a80966e8a2d68b66bf1b47c2ee633a71fad49)
(cherry picked from commit 3cc2aa3998aa179a726c8637dfd66a01fabb5246)
We might need a lot of fds on large systems, hence raise RLIMIT_NOFILE
to what the service manager allows us, which is quite a lot these days.
udev already sets FORK_RLIMIT_NOFILE_SAFE when forking of chilren, thus
ensuring that forked off processes get their RLIMIT_NOFILE soft limit
reset to 1K for compat with crappy old select().
Replaces: #29298Fixes: #28583
(cherry picked from commit 1617424ce76d797d081dd6cb1082b954c4d2bf38)
(cherry picked from commit c98a24bdbdb830a5081d5ec972d62d08547d7255)
- Add synopsis to `--discover` and `--validate` options.
- `-l` is for `--list`, not for `--mtree`.
(cherry picked from commit a0582220f5fe4927487bbfd4d56d2c1abd964e4a)
(edited to remove --validate for v253, where it doesn't exist)
(cherry picked from commit 44b29d93c39d826d69734dbab88b94ad56d529b4)
This fixes sd_bus_error_add_map and man/sd_uid_get_state
(cherry picked from commit 0ee42394374db269fc85f9cdbe5d7249fee541b3)
(cherry picked from commit 0144678b04c2193bf89e0666e7c0e9f5dce19ffa)
It is defined later in the same file
(cherry picked from commit d511acdf8257389a4b670c120717e5b6bc224986)
(cherry picked from commit b283661e01dbb5f2de166e0e25bdc01bf0dde4b1)
On slower/overloaded systems it may take a bit for the swtpm socket
to show up:
I: Started swtpm as PID 189419 with state dir /tmp/tmp.pWqUutuGUj
I: Configured emulated TPM2 device tpm-spapr
+ tee /var/tmp/systemd-test-TEST-70-TPM2_1/console.log
+ timeout --foreground 1200 /bin/qemu-system-ppc64le -smp 4 ...
qemu-system-ppc64le: -chardev socket,id=chrtpm,path=/tmp/tmp.pWqUutuGUj/sock: Failed to connect to '/tmp/tmp.pWqUutuGUj/sock': No such file or directory
E: qemu failed with exit code 1
Spotted regularly in the ppc64le cron job and in some Ubuntu CI/CentOS CI
pr runs [0].
[0] https://github.com/systemd/systemd/pull/29183#issuecomment-1721727927
(cherry picked from commit 18c3ffbfcc2d4d6d1a4680092123e510945f7a78)
(cherry picked from commit 2171f689b8596458e21ac75766326431c7d151cc)
We can't do anything about them anyway, and most importantly this seems
to alleviate systemd/systemd-centos-ci#660, which should make the CIs
a bit less angry (at least until the issue is addressed properly).
(cherry picked from commit 3a89904e45cbbd96fb1c5d0768de5e5fcdaaa508)
(cherry picked from commit af7d007f897818068965a6500798815cc1335b72)
Available since https://github.com/systemd/systemd/commit/3d5f0bfe
(cherry picked from commit cb5f21de197c7c2c291637d9234a9373d8b0aee4)
(cherry picked from commit 3e10a49d34654fd1bb6b6b87e5ce540075b535df)
The kernel loads the DTB from EFI before ExitBootServices():
https://github.com/torvalds/linux/blob/v6.5/drivers/firmware/efi/libstub/fdt.c#L245
DTBs can map and assign arbitrary memory ranges. The kernel refuses
to load one from the dtb= kernel command line parameter when secure
boot is enabled, as it's not safe. Let's do the same for type 1
entries, as they are unverified.
This only affects arm64 and riscv64, firmwares do not support DTB
on x86.
(cherry picked from commit 4b4d612d860a4acbbc22bc64a32637c0eb792cee)
(cherry picked from commit c1404fff32d439a726e972daa34470c863465577)
Before c43ff248f94266cfc93e300a2d3d163ed805e55b, the following line in
60-drm.rules also sets ID_PATH for all pci, usb, and platform devices:
===
ACTION!="remove", SUBSYSTEM=="drm", SUBSYSTEMS=="pci|usb|platform", IMPORT{builtin}="path_id"
===
Unfortunately, some existing rules rely on the unexpected behavior.
To keep the backward compatibility, let's set ID_PATH for them.
Fixes#28411.
(cherry picked from commit 6636b2b6bf07def544dcb4faefe161d27a532692)
No need to disable arch completely, let's just disable keyring checking
to get CI working again for now.
(cherry picked from commit 16173ab1aa0e8d1032fa477178efe5957a47e5e4)
(cherry picked from commit 93bb992079fd34352d17768b743047c4f9a8248a)
When running on non-native userland architecture via systemd-nspawn
and qemu-user-static QEMU-emulator, clone() with CLONE_NEWNS fails with
EINVAL.
Fixes#28901.
[zjs: add a comment in the code]
(cherry picked from commit 468018703ce1c0f123240fb6ba9b8b0b90f12930)
(cherry picked from commit 0e25a211d40d62caeb90cae92c138e9331554513)
Currently, we mount via file descriptors using /proc/self/fd. This
works, but it means that in /proc/mounts and various other files,
the source of the mount will be listed as /proc/self/fd/xxx. For other
software that parses these files, /proc/self/fd/xxx doesn't mean anything,
or worse, it means the completely wrong thing, as it will refer to one of
their own file descriptors instead.
Let's improve the situation by using /proc/pid/fd instead. This allows
processes parsing /proc/mounts to do the right thing more often than not.
One scenario where even this doesn't work if when containers are involved,
as with the pid namespace unshared, even /proc/pid/fd will mean the wrong
thing, but it's no worse than /proc/self/fd which will always means the wrong
thing.
This also doesn't work if we mount via file descriptor and then exit, as the pid will
be gone, but it does work as long as the process that did the mount is alive, which
makes it useful for systemd-dissect --with for example if the program we run in the
image wants to parse /proc/mounts.
(cherry picked from commit 4419735822d72744dad1c76a57463561b332897a)
(cherry picked from commit 8046167dc2d6d7ad62a447991efcd0404d784180)
Otherwise, we get redefinition errors if <net/if.h> is included later
on by another header.
(cherry picked from commit 2af02e61657aa513aa7b6df7fd1a04b13f853cef)
(cherry picked from commit 49a3ecd71d700dc2d914bfee70dd93275b698ae7)
f2fs is actively maintained upstream, and popular in certain device
categories (phones, embedded), so allow-list by default.
Fixes https://github.com/systemd/systemd/issues/29026
(cherry picked from commit ee6cf8eaf1770d9a32e6f80bb9d37b64c838e230)
(cherry picked from commit f38b883b030031a79205f0d559906e18567706df)
- Rename the argument for storing the sender address,
- allow to call it with NULL for ret_xyz,
- reduce needless copy of timestamp when the message does not have
timestamp.
(cherry picked from commit 512116383215c2f61172dd20e45871ff5d16c030)
(cherry picked from commit 811edcef2d7593b45bc8e683e50a580763ebf447)
When icmp6_receive() fails, then the source address is not initialized yet.
(cherry picked from commit 4674f407b2a96baaed4c8226342bccb313463717)
(cherry picked from commit 9dec95c8c50dc0057454363affe02b9114d14055)
If there are no "ManagedOOMSwap" entries to monitor, then the event source
can be completely disabled. This scenario appears to be common and avoiding
the wake-ups can save idle energy consumption.
This was discovered while using Sysprof for various GNOME 45 performance
tuning. systemd-oomd goes from waking up a few times a second to no
wake-ups helping keep a laptop in deep(er) sleep.
Signed-off-by: Christian Hergert <chergert@redhat.com>
(cherry picked from commit b63beb4d283438be2b0f5c62757ab0db7dee8d65)
(cherry picked from commit 08d0b94e363cba14c8176bc2279070dcea020fd4)
The type of a file descriptor is `int`, not `pid_t`. This should not
have any effects on API consumers as `pid_t` is already typedef'd as
`int` on all glibc-based systems.
(cherry picked from commit 904b8bb5a8da4aa0257f7730e4fbaa7ba7c67742)
(cherry picked from commit 6f83ab7d70f0e6f2023bc07f0a0a02ea2e8257b5)
session_leave_vt may be called after the VT device was hung up, which
will cause vt_release to fail with -EIO. This is known to cause an issue
with GNOME 44 on Fedora where gdm-session-worker sometimes freezes when
trying to switch to VT 1 after a `loginctl terminate-user` operation.
Fix this by reopening the VT in session_leave_vt if we get an -EIO.
(cherry picked from commit 99d4ad71b72045d6352ba221105843fc6b600717)
(cherry picked from commit 1bfe066deb43792f6e5d33ce6d2e92b7a42c4e23)
Chronyd and similar time services, when using PTP devices, may need
the BindsTo/After directives to ensure the devices are available
before starting. Tag PTP devices with systemd to allow for wider
adoption.
Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
(cherry picked from commit 23cbe90d7db6b569ae2fc18ad88f99f8ef505593)
(cherry picked from commit e3a69bdbc03c90864cc39116e45e149fa37de2f4)
See documentation at: https://manpages.debian.org/testing/pkgconf/pkg.m4.7.en.html
Without this the macro was not always correctly resolved so the correct command was not used in the rest of the snippet.
(cherry picked from commit c91d636fadc07169641e8a96a2c60083a15e0f77)
(cherry picked from commit 01841ae82935bdd4f8b01af800f5c53c0fb2adbe)
We might inherit a max rlim value that's larger than the kernel's
maximum (nr_open). This will cause setrlimit() to fail as the given
maximum is larger than the kernel's maximum. To get around this,
let's limit the max rlim we pass to rlimit() to the value of nr_open.
Should fix#28965
(cherry picked from commit f470dafddcd688c3ea6031d4bbcbf934fd094711)
(cherry picked from commit a980b83fe07521e4654d68331c31db3a4459412c)