Commit Graph
57201 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 970c29b6b6 networkd: use STRERROR_{USER,GROUP} 2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek 29d26ebe9a nspawn,vmspawn: improve errors for unknown users and groups 2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek f3f933ee92 login: use STREROR_USER helper 2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek 718578b96d creds: improve message about unknown user
Before:
$ build/systemd-creds --uid=asdf
Failed to resolve user 'asdf': No such process
Now:
$ build/systemd-creds --uid=asdf
Failed to resolve user 'asdf': Unknown user
2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek a50fdf611c core: improve messages about unknown users and groups
$ sudo build/systemd-run --uid=asdf whoami
$ journalctl -e
(whoami)[1007784]: run-p1007782-i5200512.service: Failed to determine user credentials: No such process
(whoami)[1007784]: run-p1007782-i5200512.service: Failed at step USER spawning /usr/sbin/whoami: No such process
systemd[1]: run-p1007782-i5200512.service: Main process exited, code=exited, status=217/USER
systemd[1]: run-p1007782-i5200512.service: Failed with result 'exit-code'.

Now:
(whoami)[1013204]: run-p1013202-i5205932.service: Failed to determine credentials for user 'asdf': Unknown user
(whoami)[1013204]: run-p1013202-i5205932.service: Failed at step USER spawning /usr/sbin/whoami: Invalid argument
systemd[1]: run-p1013202-i5205932.service: Main process exited, code=exited, status=217/USER
systemd[1]: run-p1013202-i5205932.service: Failed with result 'exit-code'.
2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek d92e47a093 run: improve log message for unknown user/group
Before:
$ sudo build/systemd-run --scope --uid=asdf whoami
Failed to resolve user asdf: No such process
Now:
$ sudo build/systemd-run --scope --uid=asdf whoami
Failed to resolve user 'asdf': Unknown user
2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek f436664881 tmpfiles: improve error message for missing user/group
From a boot with a dracut initrd:
systemd-tmpfiles[242]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:2: Failed to resolve user 'tss': No such process
systemd-tmpfiles[242]: Failed to parse ACL "default:group:tss:rwx", ignoring: Invalid argument
systemd-tmpfiles[242]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:4: Failed to resolve user 'tss': No such process
systemd-tmpfiles[242]: Failed to parse ACL "default:group:tss:rwx", ignoring: Invalid argument
systemd-tmpfiles[242]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:6: Failed to resolve group 'tss': No such process
systemd-tmpfiles[242]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:7: Failed to resolve group 'tss': No such process
2025-11-18 16:23:29 +01:00
Zbigniew Jędrzejewski-Szmek 6e6e96f628 udev: define a generic helper to print messages about unknown users and groups
We cannot just use %m, because strerror returns a confusing error message
for ESRCH or ENOEXEC. udev code was doing a good job, but the error handling
was very verbose. Let's encapsulate the customized error messages in a
helper.

No functional change, except that the error messages have a slightly different
form now. The old messages were a bit better, but we don't have as much
flexibility in the new scheme. "Failed to resolve user 'foo': Unknown user"
should be good enough.
2025-11-18 16:23:29 +01:00
Luca Boccassi 00ed239a7b repart: prefix LUKS superblock label with "luks-" by default, and add explicit VolumeLabel= setting to control it (#39713)
Alternative-to: #39536
2025-11-17 17:46:39 +00:00
Lennart Poettering 0712316e8e fs-util: enable automatic access mode logic in xopenat() 2025-11-18 01:31:49 +09:00
Yu Watanabe 07910c73b0 test: modernize test-log and add test cases for log_format_iovec() (#39750) 2025-11-18 01:31:02 +09:00
Lennart Poettering 1daf7b56bb tmpfile-util: make sure errno is left untouched by CLEANUP_TMPFILE_AT()
This mimics how rm_rf_physical_and_free() operate, and we should do the
same here, and make clean-up error paths not touch errno needlessly.
2025-11-17 16:53:31 +01:00
Lennart Poettering a5023c7a4b nspawn: move oci code to use json_dispatch_strv_environment() 2025-11-17 16:53:13 +01:00
Zbigniew Jędrzejewski-Szmek 93470f0451 Various comment and whitespace cleanups (#39740) 2025-11-17 16:52:38 +01:00
Zbigniew Jędrzejewski-Szmek 3a5e748f6b core/namespace: tidy up comments and debug logs
Saying "table" everywhere is not needed. Everybody can see that the table
is a table is a table. Also tweak the grammar in various places to make
reading nicer.
2025-11-17 16:50:50 +01:00
Lennart Poettering e30738c20c dissect-tool: accept encryption password via $PASSWORD 2025-11-17 16:42:58 +01:00
Lennart Poettering 28fd2a66f4 nspawn: fix flags type for chase() 2025-11-18 00:36:58 +09:00
Lennart Poettering d3c6a172a0 discover-image: support reading metadata from verity enabled DDI images, too 2025-11-18 00:35:49 +09:00
Yu Watanabe d42db35a7c Drop remaining CGroup v1 specific code (#38969) 2025-11-17 23:48:29 +09:00
Lennart Poettering 0a03092cb5 repart: avoid label string clashes between LUKS superblocks and the filesystems on them
Let's make sure that by default /dev/disk/by-label/ symlinks avoid
ambiguities, and the LUKS volume carries a different one than the file
system inside it.

Alternative-to: #39536
2025-11-17 15:37:14 +01:00
Yu Watanabe c1568778d1 repart: fix typo
Follow-up for cfb6c54324.
2025-11-17 23:34:42 +09:00
Yu Watanabe f10444319e test-log: add test cases for log_format_iovec() 2025-11-17 23:07:05 +09:00
Yu Watanabe c1792c2005 test-log: migrate to use ASSERT_OK() and friends 2025-11-17 23:07:05 +09:00
Yu Watanabe d753c0c658 log: replace format string in LOG_ITEM() to a dummy one when analyzed by Coverity
Hopefully silence many false-positives.
2025-11-17 23:06:53 +09:00
Yu Watanabe 1f546ab779 log: make each string generated in log_format_iovec() NUL terminated
Nowadays, we append an extra NUL for each data if possible for safety.
We already do the same for example at write_to_kmsg(), log_do_context(),
write_to_journal(), log_struct_iovec_internal(), and so on.
This does not change any behavior, as the iov_len field is unchanged.
2025-11-17 22:38:38 +09:00
Zbigniew Jędrzejewski-Szmek cfb6c54324 repart: adjust "partno" column
In a typical output from systemd-repart, the output is very wide any any wasted
space is bad because it pushes the interesting information even further to the
right. We usually need at most one or two digits to express the partition
numbers, so let's shorten the title of the column to effectively remove two
columns in the output.

In JSON output, the old field name is retained. This follows the pattern
already used for field "drop-in_files".

Also right-align the columns with numbers always to the right. I doesn't make
sense to align the columns which are only used for JSON output, so stop setting
alignment for those.
2025-11-17 22:36:27 +09:00
Lennart Poettering 1006b7e5ba coredumpctl: remove unnecessary line break 2025-11-17 22:35:03 +09:00
Yu Watanabe 44440ea658 cgroup-util: drop outdated comments 2025-11-17 21:31:51 +09:00
Yu Watanabe 4434fd76f1 cgroup-util: drop unused SYSTEMD_CGROUP_CONTROLLER_{LEGACY,HYBRID} 2025-11-17 21:31:51 +09:00
Yu Watanabe b9e612e070 cgroup-util: do not check validity of controller in cg_split_spec()
Now the controller part is always ignored, hence let's skip check for
the controller part of the spec. This also make it acceppt unnormalized
path. Previously paths were checked by path_is_normalized(), but now
checked by path_is_safe(). Also, now this mapps an empty path to NULL.
2025-11-17 21:31:51 +09:00
Yu Watanabe 6a8ab5f062 cgroup-show: drop unnecessary call of cg_mangle_path()
As the caller already dropped controller part.
2025-11-17 21:31:51 +09:00
Yu Watanabe a8156588fa cgroup-util: drop 'controller' argument from cg_get_path()
The argument is not used anymore. Let's drop it.
2025-11-17 21:31:50 +09:00
Yu Watanabe 5d397dc7f4 cgroup-util: drop 'controller' argument from cg_get_keyed_attribute() and cg_is_empty()
The argument is completely unused. Let's drop it.
2025-11-17 21:31:50 +09:00
Yu Watanabe 3454b160e4 cgroup-util: drop unused cg_unified() and friends 2025-11-17 21:31:50 +09:00
Yu Watanabe 90ee92b073 cgls: drop cgroup v1 support and warn when cgroup v1 controller is specified 2025-11-17 21:31:44 +09:00
Yu Watanabe 2fe89e3b0f limits-util: drop cgroup v1 support from physical_memory() 2025-11-17 21:30:29 +09:00
Yu Watanabe 2d6dd692be cgroup-util: drop cgroup v1 support in cg_get_path()
We have dropped cgroup v1 support in v258. Let's assume we are running
on cgroup v2 and drop unused legacy code.
2025-11-17 21:30:29 +09:00
Yu Watanabe f5a48af34b cgroup-util: use cg_is_available() in cg_kill_supported() 2025-11-17 21:30:29 +09:00
Yu Watanabe 57c16d344b cgroup-util: drop cgroup v1 support from cg_mask_supported_subtree()
We have dropped cgroup v1 support in v258. Let's drop unused legacy code.
2025-11-17 21:30:29 +09:00
Yu Watanabe 0ab90015e0 tree-wide: replace cg_get_path_and_check() with cg_get_path()
We have dropped cgroup v1 support in v258. When running on cgroup v2,
cg_get_path_and_check() with SYSTEMD_CGROUP_CONTROLLER as controller is
equivalent with checking if we are running on cgroup v2 and then
cg_get_path(). As we can assume we are running on cgroup v2, then the
check is not necessary anymore, thus we can replace
cg_get_path_and_check() with cg_get_path().
2025-11-17 21:30:29 +09:00
Yu Watanabe b525a72f7b cgroup-util: drop cgroup v1 support from cg_pid_get_path()
We have dropped cgroup v1 support in v258. Let's drop legacy code.
Then, we can drop 'controller' argument from cg_pid_get_path() and
cg_pidref_get_path().
2025-11-17 21:30:29 +09:00
Yu Watanabe 6475926a59 cgroup-util: drop 'controller' argument from cg_path_open()
Nowadays it always takes SYSTEMD_CGROUP_CONTROLLER as controller.
Let's drop it.

No functional change, just refactoring.
2025-11-17 21:30:29 +09:00
Yu Watanabe 4dbf06bd85 cgroup-util: drop 'controller' argument from cg_set_attribute(), cg_get_attribute() and friends
Non-null controller arguments are always ignored when running on cgroup v2.
Let's drop the argument.

No functional change, just refactoring.
2025-11-17 21:30:29 +09:00
Yu Watanabe 4d1badbbc4 cgroup-util: drop 'controller' argument from cg_enumerate_subgroups()
Nowadays it always takes SYSTEMD_CGROUP_CONTROLLER as controller.
Let's drop it.

No functional change, just refactoring.
2025-11-17 21:30:29 +09:00
Yu Watanabe f8de2107a7 cgroup-util: drop 'controller' argument from cg_enumerate_processes()
Nowadays it always takes SYSTEMD_CGROUP_CONTROLLER as controller.
Let's drop it.

No functional change, just refactoring.
2025-11-17 21:30:29 +09:00
Yu Watanabe 5169b1c5a7 cgroup-show: drop 'controller' argument from show_cgroup() and show_cgroup_and_extra()
Nowadays these always take SYSTEMD_CGROUP_CONTROLLER as controller.
Let's drop it.

No functional change, just refactoring.
2025-11-17 21:30:29 +09:00
Yu Watanabe 4365351b93 cgroup-util: introduce cg_is_available() and check it in tests
Now most of our code does not support cgroup v1. Let's skip test cases
if we are running on cgroup v1.
2025-11-17 21:29:51 +09:00
Luca Boccassi b186ce49de Chores for RC1 (#39757) 2025-11-17 10:53:15 +00:00
Luca Boccassi 5b81a76313 Update syscalls table
ninja -C build update-syscall-tables update-syscall-header
2025-11-17 08:56:39 +00:00
Yu Watanabe 07e437f569 musl: glob-util: filter out . and .. even if GLOB_ALTDIRFUNC is not supported
musl neither support GLOB_ALTDIRFUNC nor GLOB_BRACE.
Let's make safe_glob() work even when GLOB_ALTDIRFUNC is not supported.
Currently, GLOB_BRACE is simply ignored when it is not supported.
2025-11-17 12:19:22 +09:00