| Commit message (Collapse) | Author | Files | Lines |
|
On the new Elite x360 2 in 1 HP laptops, the microphone mute hotkey is "Fn+F8" and
the scancode for this hotkey is 0x81, but this scancode was mapped to
fn_esc in the HP generic keymap section. To fix this problem, we add
a machine specific keymap section to add the correct keymap rule.
|
|
sources created by the main process
Fixes a bug introduced by 9612da361a825d70a9fd392f3ee5a53bf8896887.
|
|
Follow-up for 00adc340bb15bc9d634db6caa48f1c964b99f79a.
This fixes the wrong "Received invalid inotify event, ignoring." warnings
caused by the missing curly brackets and the priorities of `&&` and `?:`.
This also replaces the ternary operators with `||`.
|
|
|
|
|
|
|
|
- categorize entries
- add several news for networkd and udevd
|
|
Let's raise our supported baseline a bit: CLOCK_BOOTTIME started to work
with timerfd in kernel 3.15 (i.e. back in 2014), let's require support
for it now.
This will raise our baseline only modestly from 3.13 → 3.15.
|
|
The Kind= setting in [Match] section of .network files takes "wlan".
This makes the same setting in .netdev files matches the one in .network
files.
|
|
This normalizes naming of functions operating on BootConfig objects.
Let's always call them boot_config_xyz(), like our usual way to name
stuff.
moreover, move the BootConfig parameter to the beginning, as it's not a
return value (which we typically move to the end of the parameter list),
but simply an object, that even happens to be initialized already.
With these changes the functions are more like our usual way to call
things, and less surprises are good.
|
|
the function contains a loop and if expressions and whatnot. Let's
define it as regular function, to make the header easier to read and let
the compiler more freedom on whether to inline this or not.
|
|
|
|
with entries from loader
Fixes: #22580
|
|
OOM should usually be fatal, hence make it so here, too.
|
|
This just got too confusing for me. With this change we'll now have
_unified as common suffix for stuff loading unified kernels (i.e. type
1), and _type1 as common suffix for type1 entries.
Just some renaming.
|
|
For testing purposes I run one of my system symlinking /boot/loader/ to
/efi/loader/. This triggers annoying behaviour in boot entry
enumeration: the code ends up iterating through the 'entries' subdir of
both, thinking one was actually in the ESP and the other in XBOOTLDR,
and thus distinct. This would result in duplicate entries.
Let's address that, and filter out duplicates via their inode numbers:
never process the same inode twice. This should protect us from any
confusion effectively, regardless which inodes are symlinked (or even
bind mounted).
|
|
This simplifies the parameter lists quite a bit, at zero change in
behaviour.
|
|
We can't really use conf_files_list() for finding type #1 entries, since
it is case-sensitive, but type #1 entries are typically placed on VFAT,
i.e. are case-insensitive.
hence, use readdir_all() instead, which is quite similar, but gives us
all files, and allows us to do a case-insensitive check.
While we are at it, use openat() on the open dir to open the file, and
pass that around, to make things a tiny bit more race-free.
|
|
Replaces: #18387
Fixes: #18094
|
|
user-record
Defaults to /bin/bash, no changes in the default configuration
The fallback shell for non-root users is as-specified,
and the interactive shell for nspawn sessions is started as
exec(default-user-shell, "-" + basename(default-user-shell), ...)
before falling through to bash and sh
|
|
The first three fields of a note are binary, so they are subject to
flipping due to endianess. Instead of a stream of bytes, just use
the native 4-bytes type so that it gets encoded automatically.
Implemented in the tools via: https://github.com/systemd/package-notes/pull/31
|
|
MOVE_MOUNT_T_EMPTY_PATH has been added to systemd 250 by [1]
but it's defined in kernel headers since version 5.2.
[1] c7bf079bbc19e3b409acc0c7acc3e14749211fe2
|
|
Clarify that it's looking at attached units, not at units inside the referenced
image. Also take into account extensions.
|
|
|
|
|
|
The event loop is already shutting down, hence no point in using it
anymore, it's not going to run any further iteration.
|
|
Fixes: #22642
|
|
|
|
Just some modernization/refactoring.
No change in behaviour, just let's do how we do things these days: use
flags param instead of list of bools.
|
|
|
|
Instead of escaping each component separately, we can instead use
quote_command_line. Doing so simplifies the code and fixes an issue
where spaces inside the executable name were not escaped.
Co-Authored-By: David Edmundson <kde@davidedmundson.co.uk>
|
|
This fixes a bug introduced by 7be4b23649c02df33e4292f37ffc8aecf512955a.
The function `efi_loader_get_device_part_uuid()` handles NULL
gracefully, and it is called with NULL in gpt-auto-generator.
Fixes #22862.
|
|
As stated in https://github.com/systemd/systemd/issues/21819#issuecomment-1064377645
`mkfs.btrfs` doesn't hold the lock for the whole duration of
`mkfs.btrfs`, thus causing unexpected races & test fails. Let's
wrap the `mkfs.btrfs` calls in an flock wrapper to mitigate this.
Hopefully fixes: #21819
|
|
This reverts commit 95e35511bbdb7810c00c2e4a6cbda5b187192f74.
|
|
Then, hopefully, previously requeued events are processed earlier.
|
|
This also makes return value initialized when these function return 0 to
follow our coding style.
Just a preparation for later commits.
|
|
process
Previously, if a block device is locked by another process, then the
corresponding worker skip to process the corresponding event, and does
not broadcast the uevent to libudev listners. This causes several issues:
- During a period of a device being locked by a process, if a user trigger
an event with `udevadm trigger --settle`, then it never returned.
- When there is a delay between close and unlock in a process, then the
synthesized events triggered by inotify may not be processed. This can
happens easily by wrapping mkfs with flock. This causes severe issues
e.g. new devlinks are not created, or old devlinks are not removed.
This commit makes events are requeued with a tiny delay when the corresponding
block devices are locked by other processes. With this way, the triggered
uevent may be delayed but is always processed by udevd. Hence, the above
issues can be solved. Also, it is not necessary to watch a block device
unconditionally when it is already locked. Hence, the logic is dropped.
|
|
|
|
|
|
As the sd-device object received through sd-device-monitor is sealed,
so the corresponding udev database or uevent file will not be read.
|
|
This also makes the macro check if the event is actually in the buffer,
and if it is not, then log about that and finish the loop.
|
|
Fix typo and list all user session settings that now are documented
to work
|
|
|
|
Follow-up for 4fc7e4f374bf4401330e90e267227267abf1dcac
|
|
Let's be more precise here. Otherwise people might think this describes
the software system or so. We already expose this via hostnamed as
HardwareVendor/HardwareModel hence use the exact same wording.
(Note that the relevant props on the dmi device are just VENDOR/MODEL,
but that's OK given that DMI really is about hardware anyway,
unconditionally, hence no chance of confusion there.)
Follow-up for 4fc7e4f374bf4401330e90e267227267abf1dcac
|
|
|
|
Previously, `event_run()` was called repeatedly in one `event_queue_start()`
invocation. Hence, the SELinux label database is reloaded many times needlessly.
Other settings, e.g. udev rules or hwdata, are tried to be reloaded in the
beginning of `event_queue_start()`. Let's also do so for the SELinux database.
|
|
Previously, if udevd failed to resolve event dependency, the event is
ignored and libudev listeners did not receive the event. This is
inconsistent with the case when a worker failed to process a event,
in that case, the original uevent sent by the kernel is broadcasted to
listeners.
|
|
The ENOENT, ENXIO, and ENODEV error can happen easily when a block
device appears and soon removed. So, it is reasonable to ignore the
error. But other errors should not occur here, and hence let's handle
them as critical.
|
|
Inspired by: https://github.com/systemd/systemd/pull/22717#discussion_r834254495
|