Jan Janssen [Mon, 27 Feb 2023 17:43:07 +0000 (18:43 +0100)]
boot: Provide div0 handlers for ARM
This is a cleaner approach to
59833064742310bfccf028b0278811ba5cff8dcf.
Jan Janssen [Mon, 27 Feb 2023 14:58:42 +0000 (15:58 +0100)]
boot: Fix data model detection for ARM
For whatever reason, ARM does not define __ILP32__.
Lennart Poettering [Mon, 27 Feb 2023 18:02:41 +0000 (19:02 +0100)]
psi-util: fix error handling
We checked ERRNO_IS_NOT_SUPPORTED on a possible positive non-error code,
which isn't right.
Fix that. Also add caching, since we are about to call this more often.
Lennart Poettering [Mon, 27 Feb 2023 18:05:19 +0000 (19:05 +0100)]
sd-event: handle kernels that set CONFIG_PSI_DEFAULT_DISABLED more gracefully
If CONFIG_PSI_DEFAULT_DISABLED is set in the kernel, then the PSI files
will be there, and you can open them, but read()/write() will fail.
Which is terrible, since that happens so late. But anyway, handle this
gracefully.
Luca Boccassi [Tue, 28 Feb 2023 12:14:16 +0000 (12:14 +0000)]
Merge pull request #26605 from poettering/noxenix
journal error message fixes
Lennart Poettering [Mon, 27 Feb 2023 14:48:45 +0000 (15:48 +0100)]
journald: remove triplicate logging about failure to write log lines
Let's log exactly at one place about failed writing of log lines to
journal file: in shall_try_append_again().
Then, if we decide to suppress a retry-after-vacuum because we already
vacuumed anyway then say this explicitly as "supressed rotation",
because that's what we do here.
This removes triplicate logging about the same error, and logs exactly
once, plus optional one "suppressed rotation" message. (plus more debug
output). The triplicate logging was bad in particular because it had no
understanding of the actual error codes and just showed generic UNIX
error strings ("Not a XENIX named type file"). By relying on
shall_try_append_again() to do all logging we now get very clean error
strings for all conditions.
Fixes: #26496
Lennart Poettering [Mon, 27 Feb 2023 14:47:11 +0000 (15:47 +0100)]
journald: always pass error code to logging function, even if we don't use it with %m
We always want to pass the error code along with the log call, so that
it can add it to structured logging, even if the format string does not
contain %m.
Lennart Poettering [Mon, 27 Feb 2023 14:42:59 +0000 (15:42 +0100)]
journald: upgrade log message about missing mmap() support to LOG_ERR
in this case we really cannot proceed and fail. Let's log about this
loudly, since we simply fail the operation to write anything.
Lennart Poettering [Mon, 27 Feb 2023 14:40:48 +0000 (15:40 +0100)]
journald: downgrade various log messages from LOG_WARNING to LOG_INFO
None of these conditions are real issues, but they can simply happen
because we just swtched from /run to /var as backend for logging and
there are old files from different boots with different systemd versions
and so on.
Let's not make more noise than necessary: still log, but not consider it
a warning, but just some normal thing.
We are handling these issues safely after all: by rotating and starting
anew, i.e. there's no reason to be concerned.
Lennart Poettering [Mon, 27 Feb 2023 14:39:24 +0000 (15:39 +0100)]
journald: start log message uppercase, like every other one around
Lennart Poettering [Mon, 27 Feb 2023 14:35:01 +0000 (15:35 +0100)]
journald: make sure shall_try_append_again() logs about all return codes passed in, not just some
David Tardon [Wed, 2 Mar 2022 20:02:21 +0000 (21:02 +0100)]
systemctl: print better message if default target is masked
If the default target is masked, `systemctl get-default` prints
Failed to get default target: Operation not possible due to RF-kill
That's a bit too cryptic, so let's make it clear what's actually
happening.
Fixes #26589.
Luca Boccassi [Mon, 27 Feb 2023 18:42:04 +0000 (18:42 +0000)]
tests: temporarily disable time-util failing tests
These are failing since https://github.com/systemd/systemd/pull/26409
disable for now
Lennart Poettering [Mon, 27 Feb 2023 12:45:17 +0000 (13:45 +0100)]
Revert "dissect-image: don't probe swap partitions needlessly"
This reverts commit
df4524cb3796529b435af309f5e6a2d92bcdaaa0.
This commit is just wrong. The thing is that we *don't* know
automatically that the partition contains a swap image, because it could
be encrypted.
Hence revert.
Fixes: #26595
Lennart Poettering [Mon, 27 Feb 2023 18:02:35 +0000 (19:02 +0100)]
update TODO
David Tardon [Fri, 11 Nov 2022 14:28:25 +0000 (15:28 +0100)]
test: add coverage test for udevadm
Yu Watanabe [Sat, 25 Feb 2023 22:54:11 +0000 (07:54 +0900)]
Merge pull request #26578 from thkukuk/main
sd-login: add sd_uid_get_login_time interface #26574
Dmitry V. Levin [Sat, 25 Feb 2023 20:00:00 +0000 (20:00 +0000)]
rules: remove redundant duplicate comparisons
$ grep -F -n -o 'ENV{DISKSEQ}=="?*", ' rules.d/60-persistent-storage.rules
139:ENV{DISKSEQ}=="?*",
139:ENV{DISKSEQ}=="?*",
140:ENV{DISKSEQ}=="?*",
140:ENV{DISKSEQ}=="?*",
Reported-by: Alexey Gladkov <legion@kernel.org>
Fixes:
17d97d4c90f8 ("udev: create disk/by-diskseq symlink only when the device has diskseq")
Fixes:
583dc6d933d8 ("udev: also create partition /dev/disk/by-diskseq/ symlinks")
Thorsten Kukuk [Fri, 24 Feb 2023 13:51:00 +0000 (14:51 +0100)]
sd-login: document that result is in microseconds
Thorsten Kukuk [Fri, 24 Feb 2023 08:47:52 +0000 (09:47 +0100)]
sd-login: add sd_uid_get_login_time interface #26574
Lennart Poettering [Fri, 24 Feb 2023 17:20:50 +0000 (18:20 +0100)]
tpm2-util: use compound initialization when allocating tpm2 objects
Jan Janssen [Fri, 24 Feb 2023 18:23:01 +0000 (19:23 +0100)]
tree-wide: Use correct SPDX license identifier
Lennart Poettering [Fri, 24 Feb 2023 13:24:18 +0000 (14:24 +0100)]
man: add two missing commands to synopsys
Lennart Poettering [Fri, 24 Feb 2023 16:08:56 +0000 (17:08 +0100)]
update TODO
Lennart Poettering [Fri, 24 Feb 2023 13:11:57 +0000 (14:11 +0100)]
Merge pull request #26579 from poettering/manager-env-clean-up
service manager env var clean-up fixes
Lennart Poettering [Fri, 24 Feb 2023 09:41:47 +0000 (10:41 +0100)]
mempool: fix tile alignment check
We should check alignment *after* determining the pointer points into
our pool, not before. Otherwise might might end up checking alignment of
the pointer relative to our base, even though it is taken relative to
some other base.
Follow-up for:
a2b052b29f8bc141e94a4af95d1653a38a57eaeb
See: https://github.com/systemd/systemd/pull/26393#issuecomment-
1442295012
Lennart Poettering [Fri, 24 Feb 2023 10:15:46 +0000 (11:15 +0100)]
libsystemd: sd_journal_get_seqnum() must be tagged with 254 symver, not 253
This is a follow-up for
b1712fabd1702640b04b0acdbba2d78294313a4d which
was prepped for 253, but merged into early 254 development cycle. It
thus had the symbol it adds at the wrong symver. Fix thta.
Luca Boccassi [Fri, 24 Feb 2023 11:45:03 +0000 (11:45 +0000)]
Merge pull request #26409 from yuwata/parse-timestamp
fix parse_timestamp()
Luca Boccassi [Fri, 24 Feb 2023 10:31:21 +0000 (10:31 +0000)]
Merge pull request #26217 from bluca/dump_mem
Add D-Bus method and analyze command to dump malloc_info()
Lennart Poettering [Fri, 24 Feb 2023 09:21:49 +0000 (10:21 +0100)]
man: document REMOTE_ADDR/REMOTE_PORT along with the other env vars
Lennart Poettering [Fri, 24 Feb 2023 09:15:35 +0000 (10:15 +0100)]
manager: be more careful with env var clean-up
Let's add some more env vars we nowadays set for activated services to
the list of env vars we strip from the environment block we pass on.
Yu Watanabe [Fri, 24 Feb 2023 00:20:52 +0000 (09:20 +0900)]
Merge pull request #26574 from YHNdnzj/sd-login-new-interface
sd-login: add two interfaces for retriving session info
Yu Watanabe [Sat, 11 Feb 2023 20:30:49 +0000 (05:30 +0900)]
test: add tests for format_timestamp() and parse_timestamp() with various timezone
Yu Watanabe [Mon, 13 Feb 2023 18:39:15 +0000 (03:39 +0900)]
time-util: make parse_timestamp() use the RFC-822/ISO 8601 standard timezone spec
If the timezone is specified with a number e.g. +0900 or so, then
let's parse the time as a UTC, and adjust it with the specified time
shift.
Otherwise, if an area has timezone change, e.g.
---
Africa/Casablanca Sun Jun 17 01:59:59 2018 UT = Sun Jun 17 01:59:59 2018 +00 isdst=0 gmtoff=0
Africa/Casablanca Sun Jun 17 02:00:00 2018 UT = Sun Jun 17 03:00:00 2018 +01 isdst=1 gmtoff=3600
Africa/Casablanca Sun Oct 28 01:59:59 2018 UT = Sun Oct 28 02:59:59 2018 +01 isdst=1 gmtoff=3600
Africa/Casablanca Sun Oct 28 02:00:00 2018 UT = Sun Oct 28 03:00:00 2018 +01 isdst=0 gmtoff=3600
---
then we could not determine isdst from the timezone (+01 in the above)
and mktime() will provide wrong results.
Fixes #26370.
Yu Watanabe [Wed, 15 Feb 2023 04:51:15 +0000 (13:51 +0900)]
time-util: drop unnecessary assignment of timezone name
As mktime() does not use timezone neme.
Yu Watanabe [Wed, 15 Feb 2023 04:46:50 +0000 (13:46 +0900)]
time-util: rename variables
No functional changes, just refactoring.
Yu Watanabe [Mon, 13 Feb 2023 19:27:52 +0000 (04:27 +0900)]
time-util: shorten code a bit
No functional change, just refactoring.
Yu Watanabe [Mon, 13 Feb 2023 19:27:27 +0000 (04:27 +0900)]
time-util: use usec_add() and usec_sub_unsigned()
And move the check with USEC_TIMESTAMP_FORMATTABLE_MAX at the end,
as usec_add() can handle overflow correctly.
Yu Watanabe [Mon, 13 Feb 2023 19:14:24 +0000 (04:14 +0900)]
time-util: use result from startswith_no_case()
No functional change, just refactoring.
Yu Watanabe [Mon, 13 Feb 2023 18:41:26 +0000 (03:41 +0900)]
time-util: do not use strdupa()
The input string may come from command line, config files.
Yu Watanabe [Mon, 13 Feb 2023 18:43:58 +0000 (03:43 +0900)]
time-util: drop redundant else
Yu Watanabe [Mon, 13 Feb 2023 17:06:13 +0000 (02:06 +0900)]
time-util: add assertions
Yu Watanabe [Mon, 13 Feb 2023 17:04:31 +0000 (02:04 +0900)]
time-util: rename variables
Yu Watanabe [Mon, 13 Feb 2023 16:41:38 +0000 (01:41 +0900)]
time-util: align string table
Yu Watanabe [Mon, 13 Feb 2023 16:40:56 +0000 (01:40 +0900)]
time-util: use DEFINE_STRING_TABLE_LOOKUP_TO_STRING() macro
Yu Watanabe [Mon, 13 Feb 2023 16:38:57 +0000 (01:38 +0900)]
time-util: drop redundant space
Yu Watanabe [Sat, 11 Feb 2023 20:30:34 +0000 (05:30 +0900)]
time-util: drop unused definition of FORMAT_TIMESTAMP_WIDTH
Yu Watanabe [Thu, 23 Feb 2023 23:52:39 +0000 (08:52 +0900)]
man,catalog: fix typo
Follow-up for #26448.
Lennart Poettering [Thu, 23 Feb 2023 17:27:43 +0000 (18:27 +0100)]
shared: move cg_set_access() declaration to right header file
This function was moved from cgroup-util.c to cgroup-setup.c a while
back, but the prototype in the matching header files wasn't migrated.
Let's fix that.
Daan De Meyer [Thu, 23 Feb 2023 14:55:36 +0000 (15:55 +0100)]
journal-file: Improve debug messages
Daan De Meyer [Thu, 23 Feb 2023 14:40:38 +0000 (15:40 +0100)]
journal-file: Fix return value in bump_entry_array()
Yu Watanabe [Thu, 23 Feb 2023 12:49:29 +0000 (21:49 +0900)]
systemctl: use bus_message_hash_ops
Lennart Poettering [Thu, 23 Feb 2023 16:22:57 +0000 (17:22 +0100)]
man: link up sd_event_add_memory_pressure() more
Luca Boccassi [Thu, 26 Jan 2023 13:28:15 +0000 (13:28 +0000)]
analyze: add 'malloc' verb to dump malloc_info()
Gets the memory state of the manager:
root@image:~# systemd-analyze malloc
<malloc version=1>
<heap nr=0>
<sizes>
<size from=33 to=33 total=396 count=12/>
<unsorted from=20385 to=20385 total=20385 count=1/>
</sizes>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<system type=current size=
1691648/>
<system type=max size=
1839104/>
<aspace type=total size=
1691648/>
<aspace type=mprotect size=
1691648/>
</heap>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<total type=mmap count=0 size=0/>
<system type=current size=
1691648/>
<system type=max size=
1839104/>
<aspace type=total size=
1691648/>
<aspace type=mprotect size=
1691648/>
</malloc>
Mike Yuan [Thu, 23 Feb 2023 17:45:50 +0000 (01:45 +0800)]
sd-login: add sd_session_get_start_time
Mike Yuan [Thu, 23 Feb 2023 16:48:10 +0000 (00:48 +0800)]
sd-login: add sd_session_get_username
Daan De Meyer [Thu, 23 Feb 2023 14:59:18 +0000 (15:59 +0100)]
Merge pull request #26258 from DaanDeMeyer/boot-smbios
stub: Read extra kernel command line items from SMBIOS
Luca Boccassi [Thu, 26 Jan 2023 12:51:55 +0000 (12:51 +0000)]
manager: add GetMallocInfo() hidden/debug method
Return the output of malloc_info() via a file descriptor (in case it
gets large on a busy system). Useful to get live data about memory
usage when it is not possible to run under a profiler from the get-go.
Do not formally register the method, but add a 'hidden' interface
so that it cannot be seen by introspection or by looking at the
object.
Yu Watanabe [Thu, 23 Feb 2023 12:38:13 +0000 (21:38 +0900)]
Merge pull request #26535 from yuwata/systemctl-list-cleanups
systemctl-list: several cleanups
Yu Watanabe [Thu, 23 Feb 2023 12:37:20 +0000 (21:37 +0900)]
Merge pull request #26560 from yuwata/journal-send-fix-memleak-and-cleanups
sd-journal: several fixlets and cleanups for sd_journal_send()
Yu Watanabe [Thu, 23 Feb 2023 09:03:50 +0000 (18:03 +0900)]
core/dbus-socket: check the socket path is absolute
In config_parse_socket_listen(), we have checked the path is absolute,
however we have not in the dbus method.
Lennart Poettering [Wed, 22 Feb 2023 12:06:29 +0000 (13:06 +0100)]
execute: pass ambient caps from PAM through to invoked service
If a PAM service sets some ambient caps, we should honour that, hence
query it, and merge it with our own ambient settings.
This needs to be done manually since otherwise dropping privs via
setresuid() will undo all such caps, and we need to manually tweak
things to keep them.
Zbigniew Jędrzejewski-Szmek [Thu, 23 Feb 2023 10:43:09 +0000 (11:43 +0100)]
Merge pull request #26563 from dtardon/fd-init
Initialize fds with -EBADF + drop one unneeded initialization
Zbigniew Jędrzejewski-Szmek [Thu, 23 Feb 2023 10:37:48 +0000 (11:37 +0100)]
Merge pull request #26556 from keszybz/list-timers-optimize-left
Do not say " left" on every timer in LEFT column
Yu Watanabe [Wed, 22 Feb 2023 07:28:43 +0000 (16:28 +0900)]
systemctl: cleanups for list-paths
- Rename struct path_info -> PathInfo,
- Drop struct path_infos,
- Use CLEANUP_ARRAY(),
No functional change, just refactoring.
Yu Watanabe [Wed, 22 Feb 2023 07:12:29 +0000 (16:12 +0900)]
systemctl: cleanups for list-automounts
- Rename struct automount_info -> AutomountInfo,
- use CLEANUP_ARRAY(), and etc.
No functional change, just refactoring.
Yu Watanabe [Wed, 22 Feb 2023 06:57:33 +0000 (15:57 +0900)]
systemctl: cleanups for list-timers
- Rename struct timer_info -> TimerInfo,
- use CLEANUP_ARRAY().
No functional change, just refactoring.
Yu Watanabe [Wed, 22 Feb 2023 06:20:20 +0000 (15:20 +0900)]
systemctl: cleanups for list-sockets
- Rename struct socket_info -> SocketInfo.
- Drop own_triggered field, and always copy the triggered field.
- Use CLEANUP_ARRAY().
No functional changes, just refactoring.
Daan De Meyer [Wed, 22 Feb 2023 16:04:58 +0000 (17:04 +0100)]
vmm: Modernize get_smbios_table()
Daan De Meyer [Mon, 30 Jan 2023 15:26:50 +0000 (16:26 +0100)]
stub: Read extra kernel command line items from SMBIOS
Let's read more kernel command line arguments from SMBIOS OEM string
io.systemd.stub.kernel-cmdline-extra. This allows adding debug kernel
command line arguments when booting in qemy without having to modify
the UKI.
David Tardon [Thu, 23 Feb 2023 08:50:26 +0000 (09:50 +0100)]
bootctl: drop unneeded initialization
Daan De Meyer [Mon, 30 Jan 2023 15:26:14 +0000 (16:26 +0100)]
vmm: Add smbios_find_oem_string()
This function can be used to find SMBIOS strings in the SMBIOS Type 11
table.
Daan De Meyer [Mon, 30 Jan 2023 20:15:12 +0000 (21:15 +0100)]
vmm: Add more const
SMBIOS tables are immutable, so let's access it via const pointers
where possible.
Daan De Meyer [Tue, 31 Jan 2023 14:39:40 +0000 (15:39 +0100)]
efi-string: Add efi_memchr()
David Tardon [Thu, 23 Feb 2023 08:48:54 +0000 (09:48 +0100)]
tree-wide: initialize fds with -EBADF
Lennart Poettering [Thu, 23 Feb 2023 08:44:06 +0000 (09:44 +0100)]
Merge pull request #26458 from yuwata/core-network-namespace-remount-sysfs
core: remount sysfs when network and mount namespace are enabled
Yu Watanabe [Wed, 22 Feb 2023 22:31:01 +0000 (07:31 +0900)]
sd-event: fix error handling
Follow-up for
6d2326e036ceed30f9ccdb0266713c10a44dcf6c.
Lennart Poettering [Thu, 23 Feb 2023 08:27:20 +0000 (09:27 +0100)]
Merge pull request #26559 from yuwata/sd-event-memory-pressure-follow-ups
sd-event: follow-ups for memory pressure event source
Yu Watanabe [Wed, 22 Feb 2023 07:38:36 +0000 (16:38 +0900)]
systemctl-list-units: drop unused return value
Yu Watanabe [Wed, 22 Feb 2023 07:38:18 +0000 (16:38 +0900)]
systemctl-list-units: fix memleak on error
Yu Watanabe [Thu, 23 Feb 2023 02:39:42 +0000 (11:39 +0900)]
sd-journal: fix memleak and freeing invalid pointers
This also makes
- use GREEDY_REALLOC() or GREEDY_REALLOC0(),
- use CLEANUP_ARRAY() macro.
Yu Watanabe [Thu, 23 Feb 2023 04:10:31 +0000 (13:10 +0900)]
io-util: drop double evaluation in IOVEC_INIT_STRING()
This also makes IOVEC_INIT_STRING() and IOVEC_MAKE_STRING() identical.
Yu Watanabe [Thu, 23 Feb 2023 04:09:46 +0000 (13:09 +0900)]
io-util: introduce IOVEC_NULL
Lennart Poettering [Thu, 23 Feb 2023 02:42:11 +0000 (11:42 +0900)]
io-util: introduce iovec_array_free()
It will be used in later commits.
Yu Watanabe [Fri, 17 Feb 2023 05:26:29 +0000 (14:26 +0900)]
test-execute: add test for PrivateNetwork= with/without mount namespacing
Yu Watanabe [Fri, 17 Feb 2023 04:50:17 +0000 (13:50 +0900)]
core/namespace: mount new sysfs when new network namespace is requested
Even when a mount namespace is created, previously host's sysfs is used,
especially with RootDirectory= or RootImage=, thus service processes can
still access the properties of the network interfaces in the main network
namespace through sysfs.
This makes, sysfs is remounted with the new network namespace tag, except
when PrivateMounts= is explicitly disabled. Hence, the properties of the
network interfaces in the main network namespace cannot be accessed by
service processes through sysfs.
Fixes #26422.
Yu Watanabe [Sat, 18 Feb 2023 00:44:43 +0000 (09:44 +0900)]
core/namespace: introduce a new namespace mount mode PRIVATE_SYSFS
This is useful when a service running with a new network namespace.
The mount mode is not used yet, but will be used in a later commit.
Yu Watanabe [Fri, 17 Feb 2023 22:12:37 +0000 (07:12 +0900)]
core/namespace: rename SYSFS -> BIND_SYSFS
No functional change, just preparation for later commits.
Yu Watanabe [Fri, 17 Feb 2023 23:45:24 +0000 (08:45 +0900)]
mount-util: introduce remount_sysfs()
This is useful when creating a new network namespace. Unlike procfs,
we need to remount sysfs, otherwise properties of the network interfaces
in the main network namespace are still accessible through the old sysfs,
e.g. /sys/class/net/eth0. All sub-mounts previously mounted on the sysfs
are moved onto the new sysfs mount.
The function will be used in later commits.
Yu Watanabe [Fri, 17 Feb 2023 06:35:48 +0000 (15:35 +0900)]
core/execute: make PrivateMounts= tristate
No functional change, just preparation for later commits.
Yu Watanabe [Fri, 17 Feb 2023 06:33:13 +0000 (15:33 +0900)]
core/dbus-util: introduce bus_set_transient_tristate()
This will be used in later commits.
Yu Watanabe [Fri, 17 Feb 2023 06:32:39 +0000 (15:32 +0900)]
bus-util: introduce bus_property_get_tristate()
This will be used in later commits.
Yu Watanabe [Fri, 17 Feb 2023 22:07:50 +0000 (07:07 +0900)]
core/execute: introduce exec_needs_ipc_namespace() helper function
This also fixes a missing condition in exec_runtime_make().
Yu Watanabe [Fri, 17 Feb 2023 06:32:02 +0000 (15:32 +0900)]
core/execute: introduce exec_needs_network_namespace() helper function
Yu Watanabe [Fri, 17 Feb 2023 05:58:22 +0000 (14:58 +0900)]
core/namespace: drop unused field in NamespaceInfo
Yu Watanabe [Thu, 23 Feb 2023 06:08:56 +0000 (15:08 +0900)]
Merge pull request #26555 from poettering/cleanup-array
add gcc cleanup attribute based logic to destroy arrays
Lennart Poettering [Wed, 22 Feb 2023 22:12:53 +0000 (23:12 +0100)]
tree-wide: port various things over to CLEANUP_ARRAY()
Lennart Poettering [Wed, 22 Feb 2023 22:10:25 +0000 (23:10 +0100)]
memory-util: add a concept for gcc cleanup attribute based array destruction
Yu Watanabe [Thu, 23 Feb 2023 02:04:44 +0000 (11:04 +0900)]
sd-event: fix error handling
Follow-up for
158fe190afe37b222c9dc2c53bd7be426b92ef89.
Yu Watanabe [Thu, 23 Feb 2023 02:03:17 +0000 (11:03 +0900)]
sd-event: fix use of uninitialized variable
Follow-up for
158fe190afe37b222c9dc2c53bd7be426b92ef89.
Fixes CID#
1505670.