Commit Graph

85645 Commits

Author SHA1 Message Date
Dirk Su
1ef107cb22 hwdb: add HP EliteBoard Mic mute key mapping 2026-01-15 11:34:14 +01:00
Lennart Poettering
80ab99d4d2 efi: use 'struct iovec' more, pass initrds down with it 2026-01-15 11:32:33 +01:00
Zbigniew Jędrzejewski-Szmek
f7047b8c1c mailmap: deduplicate some frequent contributors 2026-01-14 17:07:18 +01:00
DaanDeMeyer
90e80b9e8b docs: Document practice of using comments for argument names 2026-01-14 16:52:58 +01:00
Yu Watanabe
18de7dd90f integration tests: do not adjust log level of udevd in the test script
Similar to 5c60d3011f, but for udevd.
2026-01-14 16:32:38 +01:00
Yu Watanabe
04f05d9bd7 network: drop fallback logic for kernel older than v5.6
Now our baseline is kernel v5.10.
2026-01-14 16:31:12 +01:00
Zbigniew Jędrzejewski-Szmek
6e78240e64 udev: silence notification failures (#40275)
Closes #39943.
2026-01-14 16:26:00 +01:00
Michael Vogt
b6eabd21ea man: fix copy/paste issue in systemd-vmspawn.xml
The systemd-vmspawn man page has a note that the `--notify-ready`
defaults to "true" and then says that this is unlike "systemd-vmspawn"
where it defaults to "false". This appears to be a copy/paste issue
and here we want "unlike systemd-nspawn".
2026-01-14 17:15:20 +09:00
Christian Hesse
d1bd940deb man: drop duplicate "the" 2026-01-14 10:14:31 +09:00
Yu Watanabe
49eb2d50b4 Bump kernel requirements to >= 5.10, and recommend >= 5.14 (#38977)
Then, this drops several unnecessary code for older kernels.
2026-01-13 12:18:15 +09:00
calm329
ac2b5f6cbf basic: move BPF_JMP_A to override/linux/bpf_insn.h
Move the BPF_JMP_A macro from override/linux/bpf.h to
override/linux/bpf_insn.h. The bpf.h override conflicts with libbpf's
-I/usr/include/bpf/uapi include path. Since bpf_insn.h is not typically
installed at /usr/include/linux/ or /usr/include/bpf/uapi/linux/, the
override works without conflicts.

Fixes #40331
2026-01-13 12:14:11 +09:00
Yu Watanabe
fce7ad481b process-util: drop unnecessary E2BIG error handling
E2BIG is returned when the kernel does not support CLONE_INTO_CGROUP,
but the flag is supported since kernel v5.7.
2026-01-13 10:21:36 +09:00
Yu Watanabe
80c5b63db5 mount-setup: memory_recursiveprot is supported since kernel v5.7
Our baseline on kernel is 5.10. Hence we can unconditionally use it.
2026-01-13 10:21:36 +09:00
Yu Watanabe
d58c826c54 fd-util: drop close_all_fds_by_proc()
With the previous commit, now the function is used only on OOM.
In that case, let's do like close_all_fds_without_malloc().
2026-01-13 10:21:36 +09:00
Yu Watanabe
c471cca093 fd-util: close_range() is available since kernel 5.9
Our baseline on kernel is 5.10, hence we can always use it.
2026-01-13 10:21:36 +09:00
Yu Watanabe
d377cc5244 stat-util: STATX_TYPE and STATX_INO should be always set 2026-01-13 10:21:05 +09:00
Yu Watanabe
7ecfa87c56 fd-util,mountpoint-util: STATX_MNT_ID is supported since kernel 5.10
Our baseline on kernel is 5.10, hence we can assume it works.
2026-01-13 10:21:05 +09:00
Yu Watanabe
7f6cf19513 mountpoint-util: make is_mount_point_at() take usual dir_fd + path style arguments 2026-01-13 10:21:05 +09:00
Yu Watanabe
a98a6eb95c tree-wide: statx() supports STATX_ATTR_MOUNT_ROOT since kernel 5.8
Our baseline on kernel is 5.10, hence we can unconditionally use it.
2026-01-13 10:21:04 +09:00
Yu Watanabe
ec21e5c58e random-util: assume getrandom(GRND_INSECURE) works
GRND_INSECURE was added in kernel 5.6, and our baseline on kernel is
5.10. Let's assume it always works. Even if it does not work, we have
further fallback logics. So, this should be safe.
2026-01-13 10:21:04 +09:00
Yu Watanabe
1aeba33d8f Bump required minimum kernel version to 5.10 and the recommended baseline to 5.14.
The previous minimum required version 5.4 will be EOL on 2025-12.
Let's bump the required minimum kernel version to the next LTS release 5.10
(released on 2020-12-13, EOL on 2026-12, CIP support until 2031-01).

The new recommended baseline 5.14 is the version that CentOS 9 uses.
CentOS 9 will EOL on 2027-05.

See also #38608.
2026-01-13 10:21:04 +09:00
Marc Pervaz Boocha
b6585c811a units: Fix the missing dependency in systemd-pcrproduct
NvPCR need to read from /var/lib/nvpcr and the current unit file is
executed before /var is mounted. This adds the dep back so its always
runs after /var is mounted like systemd-tpm2-setup.service
2026-01-13 08:33:52 +09:00
Hans de Goede
3f4279829e stub: Fix NULL pointer deref when there are no initrds
When n_all_initrds == 0, then all_initrds is unmodified from its initial
value of:

	_cleanup_free_ struct iovec *all_initrds = NULL;

and in the else block of the "if (n_all_initrds > 1)" the NULL is
dereferenced:

		final_initrd = all_initrds[0];

Leading to the stub crashing due to a NULL pointer deref.

Fix this by initializing final_initrd to all 0s and only
running the else block if (n_all_initrds == 1).
2026-01-13 08:33:25 +09:00
Yu Watanabe
9e36307a8a network: ignore -EINVAL from bpf_get_current_comm()
Hopefully fixes #40051.
2026-01-13 08:32:03 +09:00
Antonio Alvarez Feijoo
96138c6237 tree-wide: use full paths to tools defined in config.h 2026-01-12 22:17:36 +01:00
Daan De Meyer
e901e256d9 machined: Don't insist on 0:0 for the state directory
We now support running machined unprivileged, so don't pass in 0:0
as the uid/gid unconditionally but just use the UID/GID we're running
as.
2026-01-12 19:08:00 +01:00
ZauberNerd
7bf0d0c46e mkfs-util: set hash_seed to seed derived value for reproducibility
When creating ext2/ext3/ext4 filesystems, mke2fs generates a random
hash_seed for htree directory indexing. This causes non-reproducible
images even when SOURCE_DATE_EPOCH is set and the same filesystem UUID
is used.

Set the hash_seed explicitly to match the filesystem UUID, ensuring
that repeated builds with the same seed produce bit-for-bit identical
images.

Also add a test case in TEST-58-REPART to verify ext4 reproducibility
by creating the same partition twice and comparing the results.

See https://vdwaa.nl/mkosi-reproducible-arch-images.html

I used claude ai to help me with this change.
2026-01-12 16:57:44 +01:00
Yu Watanabe
716246f235 man: fix indentation 2026-01-12 18:33:58 +09:00
Maximilian Bosch
db5f1952f3 mkosi: /bin/bash -> /usr/bin/env bash
This is analogous to a change in mkosi[1] with the same motivation: some
scripts are run to bootstrap the distribution tree and are thus running
directly on the host system which may not have `/bin/bash` (e.g. NixOS).

As with the `mkosi` change, do that for each shebang for consistency
reasons.

[1] 8d2cd50e51
2026-01-11 06:57:49 +01:00
Yu Watanabe
5366dbdbd4 core: fix typo
Follow-up for 32614b9aab.
2026-01-08 12:20:22 +09:00
Luca Boccassi
8e0abd0b4c meson: do not install standalone binaries if the meson option is disabled
A recent commit made the standalone binaries always buildable
on demand, but as a side effect due to how 'meson install' works,
they are always built and installed by 'meson install' even
if the standalone-binaries= option is disabled.
Fix it so that 'meson install' only installs them if the
option is explicitly enabled, while still allowing
building them on demand.

Follow-up for 54492552a1
2026-01-08 05:58:10 +09:00
Yu Watanabe
3ff23e8c4b man: do not manually update man/rules/meson.build
Follow-up for 25393c7c90.
2026-01-06 22:50:47 +01:00
Yu Watanabe
17ea504efb core: change mount options settings so that last defined wins (#39449) 2026-01-07 04:11:29 +09:00
Yu Watanabe
a6d553c4f4 Drop support for sysvinit scripts (#39770)
As announced by a few releases now, finally drop support for sysvinit scripts.
2026-01-07 02:51:53 +09:00
Luca Boccassi
b86a5a2dbc NEWS: note mount image options rule changes 2026-01-06 18:00:20 +01:00
Luca Boccassi
9de41f677c core: change mount options settings so that last defined wins
Currently mount options are handled in such a way that the first
definition for a given partition wins, and documented as such.
Change them so that they behave like other options, and the
last specified wins.
Applies to RootImageOptions=, MountImages= and ExtensionImages=.
Switch from a linked list to an array indexed by the partition
specifier to store them.
2026-01-06 17:59:10 +01:00
Yu Watanabe
0ab02b67d4 core: add support for disabling THPs (#39085)
Transparent Hugepages (THP) is a Linux kernel feature that manages
memory using larger pages (2MB on x86, compared to the default 4KB). The
main goal is to improve memory management efficiency and system
performance, especially for memory-intensive applications. However, it
can cause drawbacks in some scenarios, such as memory regression and
latency spikes. THP policy is governed for the entire system via
/sys/kernel/mm/transparent_hugepage/enabled.
However, it can be overridden for individual workloads via prctl(2) call.
MemoryTHP= is used to disable THPs at exec-invoke to stop providing THPs
for workloads where the drawbacks outweigh the advantages. When set to
"disable", MemoryTHP= disables THPs completely for the process,
irrespective of global THP controls.

[1] https://man7.org/linux/man-pages/man2/PR_SET_THP_DISABLE.2const.html
[2] https://man7.org/linux/man-pages/man2/madvise.2.html
[3] 9dc21bbd62
2026-01-07 01:36:20 +09:00
francescoza6
fcc6b29921 hwdb: add matrix for ASUS 2-in-1 T101HA
The matrix tested working in monitor-sensor (06 gen 2026),
corrects accel values and not just display output.
2026-01-07 01:10:42 +09:00
Usama Arif
4d16530b83 src/test: add unittest for MemoryTHP=
This checks if the prctl is set correctly when the property name
is passed to systemd-run.
2026-01-06 03:26:15 -08:00
Usama Arif
32614b9aab core: introduce MemoryTHP= unit file setting
Transparent Hugepages (THP) is a Linux kernel feature that manages
memory using larger pages (2MB on x86, compared to the default 4KB).
The main goal is to improve memory management efficiency and system
performance, especially for memory-intensive applications.
However, it can cause drawbacks in some scenarios, such as memory
regression and latency spikes. THP policy is governed for the entire
system via /sys/kernel/mm/transparent_hugepage/enabled.
However, it can be overridden for individual workloads via prctl(2)
call.
MemoryTHP= is used to disable THPs at exec-invoke to stop
providing THPs for workloads where the drawbacks outweigh the advantages.
When set to "disable", MemoryTHP= disables THPs completely for the
process, irrespecitive of global THP controls.
When set to "madvise", MemoryTHP= disables THPs for the process except
when specifically madvised by the process with MADV_HUGEPAGE or MADV_COLLAPSE.
2026-01-06 03:26:14 -08:00
Luca Boccassi
986fee6217 Drop support for sysvinit scripts
As announced by a few releases now, finally drop support for
sysvinit scripts.
Keep rc-local generator for now, as it's really a distinct
feature even though from the same era.
2026-01-06 10:34:02 +01:00
Luca Boccassi
5b3a86f6c3 rc-local and sysvinit are independent, adjust meson/units/docs
They are separate and independent settings, so adjust meson rules
and unit files accordingly. It is possible to enable support for
rc-local script without support for sysvinit scripts, and viceversa.
This will become useful later when sysvinit scripts support is
removed.
2026-01-06 10:34:00 +01:00
Derek J. Clark
9573ad4e76 hwdb: Add missing vendor names for older AYANEO devices
Adds AYADEVICE and AYA NEO vendor names. Early founders editon and 2021 models used these DMI values instead of AYANEO
2026-01-06 13:49:40 +09:00
Derek J. Clark
8ea31c2307 hwdb: Add missing scancodes for Lenovo Legion devices
Adds missing scancodes for Lenovo Legion Go, Go S, and Go 2. When long
pressing the power button the device should issue a LEFTMETA + F16
combo. The LEFTMETA code fires properly, but the F16 is not mapped.

Go and Go S devices detect as AT Translated Set 2 Keyboard, while Go 2
detects as AT Raw Set 2 Keyboard, hence the multiple entries.

Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
2026-01-06 12:33:28 +09:00
Alexis-Emmanuel Haeringer
adfa4b6b74 man/kernel-install: /proc/cmdline is not used as a fallback in container 2026-01-06 08:49:32 +09:00
Yu Watanabe
9bad7610f8 man: fix typo 2026-01-06 08:48:05 +09:00
Yu Watanabe
423ba555ac pstore: fix typo 2026-01-06 08:45:22 +09:00
Yu Watanabe
776c3d7f90 import: update comment: implementor -> implementer
Both implementor and implementer are correct, but we use implementer at
other places.
2026-01-06 08:43:05 +09:00
Tobias Stoeckmann
a6ef858850 sysusers: document u! version support
Document at which version the exclamation mark suffix is supported.
Version 215 at the end of the list item is a bit misleading.
2026-01-06 07:21:37 +09:00
Zbigniew Jędrzejewski-Szmek
4a74a48c23 NEWS: fix typo 2026-01-05 22:15:29 +01:00