Luca Boccassi [Tue, 22 Feb 2022 22:11:44 +0000 (22:11 +0000)]
Merge pull request #22582 from medhefgo/boot-input
boot: Minor input fixes
Luca Boccassi [Tue, 22 Feb 2022 22:08:09 +0000 (22:08 +0000)]
Merge pull request #19970 from curtistklein/watchdog-pretimeout-merge
watchdog: Add watchdog pretimeout support
Yu Watanabe [Tue, 22 Feb 2022 16:29:42 +0000 (01:29 +0900)]
unit: escape %
Fixes #22601.
Lennart Poettering [Tue, 22 Feb 2022 15:21:29 +0000 (16:21 +0100)]
units: drop After=systemd-networkd.service from systemd-resolved.service
This ordering existed since resolved was first created, but there should
not be any need to order the two services against each other, as
resolved should be able to pick up networkd DNS metadata either way (as
it works with inotify in /run).
Let's drop this hence, and not cargo-cult this to eternity
Also see: https://github.com/systemd/systemd/pull/22389#issuecomment-
1045978403
Yu Watanabe [Tue, 22 Feb 2022 21:51:06 +0000 (06:51 +0900)]
Merge pull request #22596 from yuwata/test-fix-fd-leaks
test: fix fd leaks
Zbigniew Jędrzejewski-Szmek [Tue, 22 Feb 2022 17:25:45 +0000 (18:25 +0100)]
Merge pull request #22592 from yuwata/test-oomd-util-fixlets
test: test-oomd-util fixlets
Luca Boccassi [Tue, 8 Feb 2022 12:58:30 +0000 (12:58 +0000)]
watchdog: add setting to configure pretimeout governor
Curtis Klein [Sun, 10 Oct 2021 00:51:09 +0000 (17:51 -0700)]
watchdog: check pretimeout governor
Check and log the default pretimeout governor configured in the kernel.
The pretimeout will not work unless at least one governor is available
and configured. This requires loading a kernel module manually.
Curtis Klein [Sun, 27 Jun 2021 22:36:49 +0000 (15:36 -0700)]
watchdog: Add watchdog pretimeout support
Add support for managing and configuring watchdog pretimeout values if
the watchdog hardware supports it. The ping interval is adjusted to
account for a pretimeout so that it will still ping at half the timeout
interval before a pretimeout event would be triggered. By default the
pretimeout defaults to 0s or disabled.
The RuntimeWatchdogPreSec config option is added to allow the pretimeout
to be specified (similar to RuntimeWatchdogSec). The
RuntimeWatchdogPreUSec dbus property is added to override the pretimeout
value at runtime (similar to RuntimeWatchdogUSec). Setting the
pretimeout to 0s will disable the pretimeout.
Frantisek Sumsal [Tue, 22 Feb 2022 13:43:40 +0000 (14:43 +0100)]
ci: fix clang-13 installation
For some reason Ubuntu Focal repositories now have `llvm-13` virtual
package which can't be installed, but successfully fools our check,
resulting in no clang/llvm being installed...
```
$ apt show llvm-13
Package: llvm-13
State: not a real package (virtual)
N: Can't select candidate version from package llvm-13 as it has no candidate
N: Can't select versions from package 'llvm-13' as it is purely virtual
N: No packages found
$ apt install --dry-run llvm-13
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package llvm-13 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'llvm-13' has no installation candidate
```
Zbigniew Jędrzejewski-Szmek [Tue, 22 Feb 2022 16:53:00 +0000 (17:53 +0100)]
Merge pull request #22574 from yuwata/network-dhcp-pd-fixes
network: dhcp-pd: fix two issues
Lennart Poettering [Tue, 22 Feb 2022 15:51:58 +0000 (16:51 +0100)]
clang-format: we actually typically use 16ch continuation indentation
We use 8 for blocks, and 16 for continuation in most cases afaics, hence
say so in .clang-format too
Yu Watanabe [Tue, 22 Feb 2022 12:46:41 +0000 (21:46 +0900)]
test: fix file descriptor leak in test-psi-util
Fixes an issue reported in #22576.
Yu Watanabe [Tue, 22 Feb 2022 12:44:58 +0000 (21:44 +0900)]
test: fix file descriptor leak in test-tmpfiles.c
Also fixes a typo in assertion.
Fixes an issure reported in #22576.
Yu Watanabe [Tue, 22 Feb 2022 12:42:22 +0000 (21:42 +0900)]
test: fix file descriptor leak in test-fs-util
Fixes an issue reported in #22576.
Jan Janssen [Mon, 21 Feb 2022 12:45:06 +0000 (13:45 +0100)]
boot: Handle shift and logo keys too
Some firmware supports sending input events for shift and logo keys.
Previously, we would suppress these with EFI_NOT_READY unless
some other key was pressed alongside, but it is really the job of the
caller to decide how to handle these.
Note that for keys that already have a printable shift representation
the reported input event will not have the shift key bits set
(Shift+a is reported as A). Should some firmware turn out to violate the
spec here we can always remove that part.
Jan Janssen [Mon, 21 Feb 2022 11:52:30 +0000 (12:52 +0100)]
boot: Properly check status code of console_key_read
In some cases there was a unlikely possibility that we would look
at an uninitialized key value.
Also, returning in case of unexpected input error cases should prevent
infinite looping.
Lennart Poettering [Tue, 22 Feb 2022 15:16:58 +0000 (16:16 +0100)]
Merge pull request #22584 from poettering/systemctl-verb-renamed
systemctl: rename "verb" entrypoint functions systematically to verb_xyz()
Lennart Poettering [Tue, 22 Feb 2022 10:40:53 +0000 (11:40 +0100)]
analyze: fix build on non-seccomp builds
Follow-up for #22585
See: https://github.com/systemd/systemd/pull/22585#issuecomment-
1047658990
Lennart Poettering [Mon, 21 Feb 2022 16:11:52 +0000 (17:11 +0100)]
systemctl: rework daemon_reload() functions
Let's split out the inner parts of verb_daemon_reload() as a function
daemon_reload() and then stop using the former outside of the verbs
logic, and instead call the latter whenever we need to reload the daemon
as auxiliary opeation.
This should make our logic more systematic as we don't have to provide
fake or misleading argc/argv to verb_daemon_reload() anymore.
Lennart Poettering [Mon, 21 Feb 2022 15:30:45 +0000 (16:30 +0100)]
systemctl: systematically rename verb entrypoints verb_xyz()
Let's clean up our function naming a bit, and always name the
verb_xyz(), where the xyz maps to the command line verb as closely as
possible.
No actual code changes, just an attempt to make the systemctl sources a
bit more systematic, and less surprising.
Yu Watanabe [Tue, 22 Feb 2022 12:38:15 +0000 (21:38 +0900)]
test: fix file descriptor leak in test-oomd-util
Fixes an issue reported in #22576.
Yu Watanabe [Tue, 22 Feb 2022 12:34:37 +0000 (21:34 +0900)]
test: fix memory and fd leak in test-dhcp6-client
Fixes an issue reported in #22576.
Yu Watanabe [Tue, 22 Feb 2022 12:30:18 +0000 (21:30 +0900)]
test: drop timeout handlers
Fixes file descriptor leak reported in #22576.
Yu Watanabe [Tue, 22 Feb 2022 12:11:51 +0000 (21:11 +0900)]
test: fix file descriptor leak in test-catalog
Fixes an issue reported in #22576.
Yu Watanabe [Sun, 20 Feb 2022 02:46:16 +0000 (11:46 +0900)]
network: dhcp-pd: allow to assign the same subnet prefix to multiple interfaces
There is no reason networkd refuses that. Especially, when multiple
downstream interfaces are connected to the same network, it is natural to
assign the same subnet prefix to them.
Prompted by #22571.
Yu Watanabe [Sun, 20 Feb 2022 02:23:18 +0000 (11:23 +0900)]
network: dhcp-pd: fix prefix length of address assigned to upstream interface
This effectively revert
ab0c82d9f749cc397a6b7e0327ddb2c08cd7d7e0.
I have no idea why I did that...
Fixes #22559.
Yu Watanabe [Tue, 22 Feb 2022 11:23:58 +0000 (20:23 +0900)]
test-oomd-util: fix conditional jump on uninitialised value
Fixes #22577.
Yu Watanabe [Tue, 22 Feb 2022 11:21:45 +0000 (20:21 +0900)]
test-oomd-util: style fixlets
Franck Bui [Fri, 18 Feb 2022 09:06:24 +0000 (10:06 +0100)]
core: really skip automatic restart when a JOB_STOP job is pending
It's not clear why we rescheduled a service auto restart while a stop job for
the unit was pending. The comment claims that the unit shouldn't be restarted
but the code did reschedule an auto restart meanwhile.
In practice that was rarely an issue because the service waited for the next
auto restart to be rescheduled, letting the queued stop job to be proceed and
service_stop() to be called preventing the next restart to complete.
However when RestartSec=0, the timer expired right away making PID1 to
reschedule the unit again, making the timer expired right away... and so
on. This busy loop prevented PID1 to handle any queued jobs (and hence giving
no chance to the start rate limiting to trigger), which made the busy loop last
forever.
This patch breaks this loop by skipping the reschedule of the unit auto restart
and hence not depending on the value of u->restart_usec anymore.
Fixes: #13667
Ludwig Nussel [Wed, 9 Feb 2022 09:59:22 +0000 (10:59 +0100)]
systemctl: improve error messages related to halt failures
Zbigniew Jędrzejewski-Szmek [Tue, 22 Feb 2022 10:02:57 +0000 (11:02 +0100)]
Merge pull request #22585 from poettering/analyze-split-up
analyze: split out each verb into its own .c/.h pair
Lan Tian [Tue, 22 Feb 2022 07:43:32 +0000 (01:43 -0600)]
hwdb: Force release calculator key on all HP OMEN laptops
prumian [Tue, 22 Feb 2022 06:47:39 +0000 (07:47 +0100)]
hwdb: add CST Laser Trackball (#22583)
Set the default to 800DPI as this is what user manual suggests.
Lennart Poettering [Mon, 21 Feb 2022 16:31:33 +0000 (17:31 +0100)]
env-util: drop unsetenv_erase()
Follow-up for:
e99ca1474145f7fad38bb0255d344f4ad7717ef5
Found by @grigorig: https://github.com/systemd/systemd/commit/
e99ca1474145f7fad38bb0255d344f4ad7717ef5#r67071855
Lennart Poettering [Mon, 21 Feb 2022 15:07:19 +0000 (16:07 +0100)]
analyze: modernize pretty_boot_time() a bit
Use simple strextend() backed by dynamic memory instead of format string
logic with fixed buffer.
Lennart Poettering [Mon, 21 Feb 2022 13:51:56 +0000 (14:51 +0100)]
analyze: systematically name verb entry point functions verb_xyz()
Some of the functions so far were named do_xyz(), others dump_xyz() and
even others test_xyz(). let's instead name them exactly like the verb
exposed in the command line, just prefixed with verb_
Lennart Poettering [Mon, 21 Feb 2022 13:42:20 +0000 (14:42 +0100)]
analyze: move "condition" verb into analyze-condition.[ch]
Lennart Poettering [Mon, 21 Feb 2022 13:39:16 +0000 (14:39 +0100)]
analyze: split out "verify" verb into own .c/.h file
This renames the old analyze-verify.[ch] pair →
analyze-verify-util.[ch], because it's used by the test logic as well,
and by keeping it separate from the verify verb logic we don't have to
import the arg_xyz variables.
Lennart Poettering [Mon, 21 Feb 2022 13:09:16 +0000 (14:09 +0100)]
analyze: move inspect-elf verb entrypoint into analyze-elf.[ch], too
like for the other verbs, let's move the whole entry point for the verb,
too.
Lennart Poettering [Mon, 21 Feb 2022 13:06:15 +0000 (14:06 +0100)]
analyze: fully move "security" verb to analyze-security.[ch]
let's move the verb entropy point too, like for the other verbs now.
Lennart Poettering [Mon, 21 Feb 2022 12:59:46 +0000 (13:59 +0100)]
analyze: split out "time" verb
Lennart Poettering [Mon, 21 Feb 2022 12:56:59 +0000 (13:56 +0100)]
analyze: split out critical chain
Lennart Poettering [Mon, 21 Feb 2022 12:50:35 +0000 (13:50 +0100)]
analyze: split out "unit-files" verb
Lennart Poettering [Mon, 21 Feb 2022 12:47:38 +0000 (13:47 +0100)]
analyze: split out "unit-paths" verb
Lennart Poettering [Mon, 21 Feb 2022 12:44:37 +0000 (13:44 +0100)]
analyze: split out log control verb
Lennart Poettering [Mon, 21 Feb 2022 12:40:45 +0000 (13:40 +0100)]
analyze: split out cat-config verb
Lennart Poettering [Mon, 21 Feb 2022 12:36:40 +0000 (13:36 +0100)]
analyze: split out "plot" verb
Lennart Poettering [Mon, 21 Feb 2022 12:27:08 +0000 (13:27 +0100)]
analyze: split out "blame" verb + time helpers
Lennart Poettering [Mon, 21 Feb 2022 10:04:31 +0000 (11:04 +0100)]
analyze: split out "capability" verb
Lennart Poettering [Mon, 21 Feb 2022 10:00:53 +0000 (11:00 +0100)]
analyze: split out "exit-status" verb
Lennart Poettering [Mon, 21 Feb 2022 09:54:06 +0000 (10:54 +0100)]
analyze: highlight the range of deprecated verbs in comments a bit better
Lennart Poettering [Mon, 21 Feb 2022 09:52:49 +0000 (10:52 +0100)]
analyze: split out "service-watchdogs" verb
Lennart Poettering [Mon, 21 Feb 2022 09:47:48 +0000 (10:47 +0100)]
analyze: split out "dot" verb
Lennart Poettering [Mon, 21 Feb 2022 09:39:09 +0000 (10:39 +0100)]
analyze: split out "dump" verb
Lennart Poettering [Mon, 21 Feb 2022 09:30:53 +0000 (10:30 +0100)]
analyze: split out "syscall-filter" verb
Lennart Poettering [Mon, 21 Feb 2022 09:25:36 +0000 (10:25 +0100)]
analyze: split out "filesystems" verb into its own .c/.h file pair
Lennart Poettering [Mon, 21 Feb 2022 09:18:57 +0000 (10:18 +0100)]
analyze: split out calendar verb into own .c/.h file
Lennart Poettering [Mon, 21 Feb 2022 09:14:57 +0000 (10:14 +0100)]
analyze: split out "timestamp" verb into its own .c/.h files
Lennart Poettering [Mon, 21 Feb 2022 09:09:06 +0000 (10:09 +0100)]
analyze: split out "timespan" verb into its own .c/.h file
Lennart Poettering [Mon, 21 Feb 2022 15:13:47 +0000 (16:13 +0100)]
Merge pull request #22573 from mrc0mmand/epoch-timestamp
time-util: introduce TIMESTAMP_UNIX
Frantisek Sumsal [Mon, 21 Feb 2022 12:14:18 +0000 (13:14 +0100)]
systemctl,man: update docs for `--timestamp=`
Frantisek Sumsal [Mon, 21 Feb 2022 12:08:20 +0000 (13:08 +0100)]
time-util: introduce TIMESTAMP_UNIX
Allow formatting timestamps as number of seconds since the Epoch for easier
machine parsing.
Fixes: #22567
```
$ systemctl show systemd-journald | grep Timestamp
WatchdogTimestampMonotonic=0
ExecMainStartTimestamp=Sat 2021-12-11 15:25:57 CET
ExecMainStartTimestampMonotonic=
13030408
ExecMainExitTimestampMonotonic=0
StateChangeTimestamp=Sat 2021-12-11 15:25:57 CET
StateChangeTimestampMonotonic=
13049273
InactiveExitTimestamp=Sat 2021-12-11 15:25:57 CET
InactiveExitTimestampMonotonic=
13030430
ActiveEnterTimestamp=Sat 2021-12-11 15:25:57 CET
ActiveEnterTimestampMonotonic=
13049273
ActiveExitTimestamp=Sat 2021-12-11 15:25:57 CET
ActiveExitTimestampMonotonic=
12997236
InactiveEnterTimestamp=Sat 2021-12-11 15:25:57 CET
InactiveEnterTimestampMonotonic=
13028890
ConditionTimestamp=Sat 2021-12-11 15:25:57 CET
ConditionTimestampMonotonic=
13029539
AssertTimestamp=Sat 2021-12-11 15:25:57 CET
AssertTimestampMonotonic=
13029540
$ systemctl show --timestamp=unix systemd-journald | grep Timestamp
WatchdogTimestampMonotonic=0
ExecMainStartTimestamp=@
1639232757
ExecMainStartTimestampMonotonic=
13030408
ExecMainExitTimestampMonotonic=0
StateChangeTimestamp=@
1639232757
StateChangeTimestampMonotonic=
13049273
InactiveExitTimestamp=@
1639232757
InactiveExitTimestampMonotonic=
13030430
ActiveEnterTimestamp=@
1639232757
ActiveEnterTimestampMonotonic=
13049273
ActiveExitTimestamp=@
1639232757
ActiveExitTimestampMonotonic=
12997236
InactiveEnterTimestamp=@
1639232757
InactiveEnterTimestampMonotonic=
13028890
ConditionTimestamp=@
1639232757
ConditionTimestampMonotonic=
13029539
AssertTimestamp=@
1639232757
AssertTimestampMonotonic=
13029540
```
Zbigniew Jędrzejewski-Szmek [Mon, 21 Feb 2022 08:02:05 +0000 (09:02 +0100)]
Merge pull request #22579 from ml-/fix-discoverable-partitions-table
docs: fix discoverable partitions table
Matthias Lisin [Mon, 21 Feb 2022 01:46:57 +0000 (02:46 +0100)]
docs: swap Name and Partition Type UUID in header
Matthias Lisin [Mon, 21 Feb 2022 01:32:25 +0000 (02:32 +0100)]
tools: adjust re.match to recent gpt.h additions
with addition of SD_ID128_MAKE_UUID_STR entries to src/shared/gpt.h the tool
failed halfway due to falsly matching the new entries
Lennart Poettering [Fri, 18 Feb 2022 23:08:39 +0000 (00:08 +0100)]
env-util: replace unsetenv_erase() by new getenv_steal_erase() helper
The new helper combines a bunch of steps every invocation of
unsetenv_erase() did so far: getenv() + strdup() + unsetenv_erase().
Let's unify this into one helper that is harder to use incorrectly. It's
in inspired by TAKE_PTR() in a way: get the env var out and invalidate
where it was before.
Yu Watanabe [Sun, 20 Feb 2022 02:10:44 +0000 (11:10 +0900)]
NEWS: fix typo
Luca Boccassi [Fri, 18 Feb 2022 22:56:56 +0000 (22:56 +0000)]
mkosi CI: mask isc-dhcp-server units
The packages are installed to provide the dhcpd binary, used by
test/test-network/systemd-networkd-tests.py, but we don't need the units
to run, and in fact in some cases the image fails to boot because of
them:
Spawning container image on /home/runner/work/systemd/systemd/image.raw.
Press ^] three times within 1s to kill container.
● isc-dhcp-server.service loaded failed failed ISC DHCP IPv4 server
● isc-dhcp-server6.service loaded failed failed ISC DHCP IPv6 server
Container image failed with error code 1.
Error: Process completed with exit code 1.
Mask the units with an --extra-tree.
Frantisek Sumsal [Fri, 18 Feb 2022 22:09:18 +0000 (23:09 +0100)]
systemctl: make `--timestamp=` affect the `show` verb as well
Currently the `--timestamp=` option has no effect on timestamps shown by
`systemctl show`, let's fix that.
Spotted in #22567.
Before:
```
$ systemctl show --timestamp=us+utc systemd-journald | grep Timestamp=
ExecMainStartTimestamp=Sat 2021-12-11 15:25:57 CET
StateChangeTimestamp=Sat 2021-12-11 15:25:57 CET
InactiveExitTimestamp=Sat 2021-12-11 15:25:57 CET
ActiveEnterTimestamp=Sat 2021-12-11 15:25:57 CET
ActiveExitTimestamp=Sat 2021-12-11 15:25:57 CET
InactiveEnterTimestamp=Sat 2021-12-11 15:25:57 CET
ConditionTimestamp=Sat 2021-12-11 15:25:57 CET
AssertTimestamp=Sat 2021-12-11 15:25:57 CET
```
After:
```
$ systemctl show --timestamp=us+utc systemd-journald | grep Timestamp=
ExecMainStartTimestamp=Sat 2021-12-11 14:25:57.177848 UTC
StateChangeTimestamp=Sat 2021-12-11 14:25:57.196714 UTC
InactiveExitTimestamp=Sat 2021-12-11 14:25:57.177871 UTC
ActiveEnterTimestamp=Sat 2021-12-11 14:25:57.196714 UTC
ActiveExitTimestamp=Sat 2021-12-11 14:25:57.144677 UTC
InactiveEnterTimestamp=Sat 2021-12-11 14:25:57.176331 UTC
ConditionTimestamp=Sat 2021-12-11 14:25:57.176980 UTC
AssertTimestamp=Sat 2021-12-11 14:25:57.176980 UTC
```
Jan Janssen [Fri, 18 Feb 2022 18:38:09 +0000 (19:38 +0100)]
generator: Rename password arg
This function does not expect a password, but a key file path. The
cryptsetup helper binary even calls it that.
No Code changes.
Follow up on:
6e41f4dd916293f35d7d35cea7eed1807d7ea771
Fixes: https://github.com/systemd/systemd/security/code-scanning/81
Luca Boccassi [Fri, 18 Feb 2022 22:20:17 +0000 (22:20 +0000)]
Merge pull request #22546 from poettering/resolved-bus-error-reply-rework
resolved: rework how we reply to D-Bus messages for resolution requests
Lennart Poettering [Thu, 17 Feb 2022 10:48:31 +0000 (11:48 +0100)]
resolved: rework how we reply to D-Bus messages for resolution requests
This reworks how we reply to D-Bus messages that come in for resolution
requests. Previously, we'd store them in the .bus_request field of
the main DnsQuery (but not any auxiliary one), and reply to it whenever
we had something to reply. In error paths this could mean we'd
accidentally reply twice.
This cleans this logic up: whenever we reply to a message we'll now go up
the tree of auxiliary queries, to find the primary query, i.e. the one
we actually want to reply to. Once we found it, we take out the bus
message object, resetting it to NULL. This way we can be sure we'll
reply at most once to each message.
Fixes: #22477
Yu Watanabe [Fri, 11 Feb 2022 00:43:16 +0000 (09:43 +0900)]
resolve: add reference of the original bus message to the aux queries
Otherwise, the error in aux queries cannot be replied.
Fixes #22477.
Lennart Poettering [Fri, 18 Feb 2022 13:39:44 +0000 (14:39 +0100)]
Merge pull request #22562 from poettering/logind-bool-fix
machined: fix confusion around "bool" and sd-bus
Lennart Poettering [Fri, 18 Feb 2022 12:08:19 +0000 (13:08 +0100)]
machined: use one_zero() on one more occasion
Lennart Poettering [Fri, 18 Feb 2022 12:06:18 +0000 (13:06 +0100)]
machined: sd-bus expects 'int', not 'bool' when returning unmarshalled booleans
Fixes: #22555
Follow-up for: #22160
Lennart Poettering [Fri, 18 Feb 2022 11:32:37 +0000 (12:32 +0100)]
Merge pull request #22552 from poettering/nss-by-pass-bus-rework
fix nss deadlock between dbus-daemon and PID 1
Lennart Poettering [Thu, 17 Feb 2022 13:49:54 +0000 (14:49 +0100)]
pid1: set SYSTEMD_NSS_DYNAMIC_BYPASS=1 env var for dbus-daemon
There's currently a deadlock between PID 1 and dbus-daemon: in some
cases dbus-daemon will do NSS lookups (which are blocking) at the same
time PID 1 synchronously blocks on some call to dbus-daemon. Let's break
that by setting SYSTEMD_NSS_DYNAMIC_BYPASS=1 env var for dbus-daemon,
which will disable synchronously blocking varlink calls from nss-systemd
to PID 1.
In the long run we should fix this differently: remove all synchronous
calls to dbus-daemon from PID 1. This is not trivial however: so far we
had the rule that synchronous calls from PID 1 to the dbus broker are OK
as long as they only go to interfaces implemented by the broke itself
rather than services reachable through it. Given that the relationship
between PID 1 and dbus is kinda special anyway, this was considered
acceptable for the sake of simplicity, since we quite often need
metadata about bus peers from the broker, and the asynchronous logic
would substantially complicate even the simplest method handlers.
This mostly reworks the existing code that sets SYSTEMD_NSS_BYPASS_BUS=
(which is a similar hack to deal with deadlocks between nss-systemd and
dbus-daemon itself) to set SYSTEMD_NSS_DYNAMIC_BYPASS=1 instead. No code
was checking SYSTEMD_NSS_BYPASS_BUS= anymore anyway, and it used to
solve a similar problem, hence it's an obvious piece of code to rework
like this.
Issue originally tracked down by Lukas Märdian. This patch is inspired
and closely based on his patch:
https://github.com/systemd/systemd/pull/22038
Fixes: #15316
Co-authored-by: Lukas Märdian <slyon@ubuntu.com>
Lennart Poettering [Thu, 17 Feb 2022 13:47:34 +0000 (14:47 +0100)]
docs: $SYSTEMD_NSS_BYPASS_BUS is not honoured anymore, don't document it
It was removed back in
1684c56f40f020e685e70b3d1785d596ff16f892
Follow-up for:
1684c56f40f020e685e70b3d1785d596ff16f892
Lennart Poettering [Thu, 17 Feb 2022 13:40:25 +0000 (14:40 +0100)]
pid1: lookup owning PID of BusName= name of services asynchronously
A first step of removing blocking calls to the D-Bus broker from PID 1.
There's a lot more to got (i.e. grep src/core/ for sd_bus_creds
basically), but it's a start.
Removing blocking calls to D-Bus broker deals systematicallly with
deadlocks caused by dbus-daemon blocking on synchronous IPC calls back
to PID1 (e.g. Varlink calls through nss-systemd). Bugs such as #15316.
Also-see: https://github.com/systemd/systemd/pull/22038#issuecomment-
1042958390
Lennart Poettering [Thu, 17 Feb 2022 16:23:48 +0000 (17:23 +0100)]
pid1: watch bus name always when we have it
Previously we'd only watch configured service bus names if Type=dbus was
set. Let's also watch it for other types. This is useful to pick up the
main PID of such a service. In fact the code to pick it up was already
in place, alas it didn't do anything given the signal was never received
for it. Fix that.
(It's also useful for debugging)
Yu Watanabe [Fri, 18 Feb 2022 05:06:31 +0000 (14:06 +0900)]
udev-util: add parentheses to make coverity silent
Fixes CID#
1474365.
Lubomir Rintel [Sat, 21 Jul 2018 22:25:51 +0000 (00:25 +0200)]
hwdb: 60-keyboard: Support the buttons on CZC P10T tablet
The machine has tree buttons connected to an EC that acts as a regular
AT-compatible keyboard controller. It can be either in "Windows 7" or
"Android" mode. It boots up with the earlier, but the Android build on
the tablet switches it on bootup (Windows presumably leaves it as-is).
The "Windows 7" mode, the behavior is very inconvenient: the Home button
emits multiple key presses that presumably do something in Windws 7 while
the second button toggles the RF Kill Switch in addition to producing a
scancode (it's labeled "Back" on Android version of the tablet).
The "Android" mode just sends the good ol' scan codes and this patch
handles them. On mainline Linux, the "x86-android-tablets" driver makes
sure we're in the correct mode.
Daan De Meyer [Thu, 17 Feb 2022 15:41:58 +0000 (15:41 +0000)]
mkosi: Add more packages required to run systemd-networkd-tests.py
Let's also add the required packages to run systemd-networkd-tests.py
for Ubuntu and Debian. The Fedora and Arch lists are also updated to
include python which is also required to run the tests.
Yu Watanabe [Thu, 17 Feb 2022 16:20:18 +0000 (01:20 +0900)]
Merge pull request #22545 from yuwata/network-match-kind
network, udev: introduce Kind= setting in [Match] section
Frantisek Sumsal [Thu, 17 Feb 2022 13:02:04 +0000 (14:02 +0100)]
packit: drop unnumbered patches as well
Frantisek Sumsal [Wed, 16 Feb 2022 14:55:09 +0000 (15:55 +0100)]
test: set `ReadWritePaths=` only for units from TEST-20
as setting it system-wide has some undesirable side-effects.
Follow-up to
b6fc524.
Yu Watanabe [Thu, 17 Feb 2022 12:06:12 +0000 (21:06 +0900)]
network,udev/net: add Kind= settings in [Match] section
This may be useful for writing .network or .link files matching with
virtual interfaces.
Closes #22541.
Yu Watanabe [Thu, 17 Feb 2022 13:59:24 +0000 (22:59 +0900)]
Merge pull request #22540 from yuwata/network-call-ethtool-after-initialized
network: call ethtool after link is initialized by udevd
Yu Watanabe [Fri, 11 Feb 2022 00:49:13 +0000 (09:49 +0900)]
resolve: refuse AF_UNSPEC when resolving address
Fixes #22480.
Yu Watanabe [Thu, 17 Feb 2022 12:14:36 +0000 (21:14 +0900)]
networkctl: show netdev kind
Yu Watanabe [Wed, 16 Feb 2022 20:24:26 +0000 (05:24 +0900)]
network: call ethtool after link is initialized by udevd
Fixes #22538.
Yu Watanabe [Thu, 17 Feb 2022 09:55:24 +0000 (18:55 +0900)]
network: use udev_available() where applicable
Yu Watanabe [Thu, 17 Feb 2022 09:47:26 +0000 (18:47 +0900)]
udev-util: introduce udev_available() helper function
Yu Watanabe [Thu, 17 Feb 2022 07:45:39 +0000 (16:45 +0900)]
Merge pull request #22535 from poettering/dbusctl-range-display
userdbctl: show UID ranges in output too
Yu Watanabe [Wed, 16 Feb 2022 15:49:21 +0000 (00:49 +0900)]
sd-dhcp-server: do not offer server address
The server address may be in the pool.
Yu Watanabe [Thu, 17 Feb 2022 07:44:51 +0000 (16:44 +0900)]
Merge pull request #22543 from poettering/logind-fix-bus-bool-prop
logind: fix some sd-bus int/bool/unsigned mixups
Lennart Poettering [Wed, 16 Feb 2022 14:51:53 +0000 (15:51 +0100)]
userdbctl: add a dash of color to users of different dispositions
Lennart Poettering [Wed, 16 Feb 2022 14:51:20 +0000 (15:51 +0100)]
userdbctl: show min/max UID boundaries in userdbctl output