1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 00:51:24 +03:00
Commit Graph

52123 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
7a2ba40787 core/cgroup: upgrade log level when we fail to rescope a pid
See https://bugzilla.redhat.com/show_bug.cgi?id=1973058 again:

systemd[1779]: Started Application launched by gnome-session-binary.
systemd[1779]: app-glib-liveinst\x2dsetup-1897.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-glib-liveinst\x2dsetup-1897.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.
systemd[1779]: app-glib-xdg\x2duser\x2ddirs-1900.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-glib-xdg\x2duser\x2ddirs-1900.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.
systemd[1779]: app-gnome-gsettings\x2ddata\x2dconvert-1902.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-gnome-gsettings\x2ddata\x2dconvert-1902.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.

Since we don't show the PID anywhere, it can be quite hard to figure out what
is going on. There may be logs from the pid above or below in the log, but
we have no PID number to identify them. So let's upgrade the log from
unit_attach_pids_to_cgroup() to tell us precisely which PIDs and why couldn't
be handled.
2021-06-30 21:55:16 +02:00
Zbigniew Jędrzejewski-Szmek
e8616626eb core/cgroup: inline more iterator variable declarations 2021-06-30 17:22:23 +02:00
Zbigniew Jędrzejewski-Szmek
58441bc177 core: emit nicer log message for exiting ConditionExec processes
See https://bugzilla.redhat.com/show_bug.cgi?id=1973058:

we would log something like:
systemd[244]: Starting willskip.service...
systemd[244]: willskip.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: Condition check resulted in willskip.service being skipped.

The line with 'Control process exited' would be at LOG_NOTICE level.

With the patch:
systemd[244]: Starting willskip.service...
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: Condition check resulted in willskip.service being skipped.

Debug logs:
systemd[244]: Starting willskip.service...
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/unit/willskip_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=8 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/unit/willskip_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=9 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/job/46 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=10 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[11020]: Skipping PR_SET_MM, as we don't have privileges.
systemd[11020]: willskip.service: Executing: sh -c 'exit 2'
systemd[244]: Received SIGCHLD from PID 11020 (sh).
systemd[244]: Child 11020 (sh) died (code=exited, status=2/INVALIDARGUMENT)
systemd[244]: willskip.service: Child 11020 belongs to willskip.service.
systemd[244]: willskip.service: Condition check process exited, code=exited, status=2/INVALIDARGUMENT (success)
systemd[244]: willskip.service: Got final SIGCHLD for state condition.
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: willskip.service: Service will not restart (restart setting)
systemd[244]: willskip.service: Changed condition -> dead
systemd[244]: willskip.service: Job 46 willskip.service/start finished, result=done
systemd[244]: Condition check resulted in willskip.service being skipped.
2021-06-30 17:22:23 +02:00
laineantti
eed5c718a6 hwdb: add accel matrix for One-netbook OneMix 2s 2021-06-30 19:41:48 +09:00
Albert Brox
f1bda7ead2
Improve tmpfiles unsafe transition log message (#20048) 2021-06-30 11:54:15 +02:00
Dan Streetman
9fcfc0470d Add systemd-resolve backwards compatibility section to resolvectl docs 2021-06-30 06:15:11 +09:00
Luca Boccassi
d46be5a6ac
Merge pull request #20047 from keszybz/doc-fix
Update dnssec-trust-anchors comment syntax description and put rrs in index
2021-06-29 12:52:38 +01:00
Raul Tambre
12c0bb31a7 resolved: Fix link to resolv.conf manpage
Seems to typically located in volume 5 these days on Linux systems that systemd targets.
2021-06-29 12:50:53 +01:00
Alexander Tsoy
1f00a50c69 resolved: do not try to copy empty NSEC types bitmaps
dns_resource_record_copy() assumes that NSEC types bitmap is non-empty
which results in a null pointer dereference inside bitmap_copy() in some
cases. Fix this by calling bitmap_copy() conditionally.
2021-06-29 10:47:18 +02:00
Zbigniew Jędrzejewski-Szmek
d080734dcb man: add "DNS resource record types" section 2021-06-29 10:44:18 +02:00
Zbigniew Jędrzejewski-Szmek
9a024bf18d man: add markup to dns resource record labels 2021-06-29 10:44:18 +02:00
Franck Bui
9952f11a84
Merge pull request #20039 from yuwata/sd-device-get-sysattr-value-embedded-nul
sd-device: allow to read sysattr which contains embedded NUL
2021-06-28 15:43:29 +02:00
Raul Tambre
d3a047b9d1 man: Don't link to a manpage that's within our documentation
For example on systemd.network this results in the link taking one to another site with the manpage instead of the document that's on the same site.
2021-06-28 18:49:27 +09:00
Luca Boccassi
6cf4f7d10e
Merge pull request #20043 from yuwata/sd-netlink-cleanups
sd-netlink: several trivial cleanups
2021-06-28 10:35:34 +01:00
Zbigniew Jędrzejewski-Szmek
0b497bc46f man/dnssec-trust-anchors: update comment syntax description
Let's just use the same phrase as in systemd.syntax(7).
Fixes #20045.
2021-06-27 15:50:04 +02:00
dgcampea
e8f4bf33d8 man: fix incorrect description regarding DynamicUser= and StateDirectory= 2021-06-27 14:08:05 +01:00
Luca Boccassi
56175bc45d
Merge pull request #20042 from yuwata/udev-rule-fix-cid-1457766
udev: fix an issue and add a testcase
2021-06-26 23:03:36 +01:00
Yu Watanabe
11537375e3 sd-netlink: use usec_sub_unsigned() and USEC_INFINITY
And shorten code more.
2021-06-27 03:58:34 +09:00
Yu Watanabe
2b01228800 sd-netlink: shorten code a bit
This also reduces scope of variables, fixes and reduces indentations,
drop unnecessary initializations.
2021-06-27 03:58:34 +09:00
Yu Watanabe
7bb9f0d014 sd-netlink: do not call lookup_nlmsg_type() for known generic netlink family 2021-06-27 03:58:30 +09:00
Yu Watanabe
0f97cfb9be sd-netlink: rename variables and functions for generic netlink
`id` or `type` is ambiguous. Let's use `nlmsg_type`. Also, use `ret` for
function arguments to store results.

This also adds several assertions.
2021-06-27 03:02:22 +09:00
Yu Watanabe
eee15fff40 sd-netlink: do not trigger assertion by calling socket_broadcast_group_unref() with an arbitrary group number
socket_broadcast_group_unref() is only called in netlink_slot_disconnect(),
so the assertion should not be triggered as the match slot was
successfully created.

But, we usually design `_ref/unref()` functions as they can be called
for any inputs. So, let's also follow the design rule here.
2021-06-27 02:47:34 +09:00
Yu Watanabe
db4735b7db sd-netlink: shorten code a bit
This also fixes comments, a log message, and coding style nits.
2021-06-27 02:47:25 +09:00
Yu Watanabe
33989b967e udev-test: add a testcase for string_escape=replace 2021-06-27 00:02:24 +09:00
Yu Watanabe
7dc846f99a udev: reduce scope of variables
Then, hopefully, we can easily find the bug fixed by the previous
commit.
2021-06-26 23:52:38 +09:00
Yu Watanabe
7db6b67275 udev: fix use of invalid pointer
Fixes a bug introduced by ea0f4578a7.

Fixes CID#1457766.
2021-06-26 23:35:02 +09:00
Yu Watanabe
57ccd9f6c0 core/namespace: drop unnecessary initializations 2021-06-26 11:32:59 +01:00
Yu Watanabe
11c89a85eb udev: update log messages
Suggested at https://github.com/systemd/systemd/pull/19312#discussion_r658556983.
2021-06-26 10:12:13 +02:00
Yu Watanabe
70160c6eee sd-device: allow to read sysattr which contains embedded NUL
This effectively reverts the commit 2a394d0bf2.

But drop trailing '\r' of the read value, as sd_device_set_sysattr_value() drops it.

Fixes #20025.
2021-06-26 10:48:28 +09:00
Yu Watanabe
3b955af56f networkctl: drop unused member in struct VxLanInfo 2021-06-26 08:39:25 +09:00
Zbigniew Jędrzejewski-Szmek
2e9ee9cf15
Merge pull request #20028 from keszybz/hwdb-update-v249
Hwdb update for v249-rc2
2021-06-25 16:17:20 +02:00
Yu Watanabe
c8de9b0ec5 man: document about NAMING_REPLACE_STRICTLY network interface naming policy
Follow-up for b4d885f0e8 and
068b0f7728.
2021-06-25 14:51:24 +01:00
Luca Boccassi
5b8fdb1873 NEWS: mention MS_NOSUID for namespaced services by default 2021-06-25 14:04:34 +01:00
Zbigniew Jędrzejewski-Szmek
6969135f6a NEWS: update contributor list for v249-rc2 2021-06-25 14:26:29 +02:00
Zbigniew Jędrzejewski-Szmek
14e97d24ae NEWS: update with net-naming scheme changes and ConditionOSRelease 2021-06-25 14:26:29 +02:00
Zbigniew Jędrzejewski-Szmek
6ccd05e3ad hwdb: update autosuspend 2021-06-25 14:23:15 +02:00
Zbigniew Jędrzejewski-Szmek
a557c7c6d0 hwdb: update 2021-06-25 14:23:15 +02:00
Zbigniew Jędrzejewski-Szmek
aeecab3804 dbus-socket: fix check of Listen* arguments
We checked the wrong field, which was always NULL here, so we would always
reject the assignment. We would also print the wrong string in the error
message:

$ sudo systemd-run --socket-property ListenFIFO=/tmp/fifo3 cat
Failed to start transient socket unit: Invalid socket path: FIFO
2021-06-25 14:21:23 +02:00
Zbigniew Jędrzejewski-Szmek
a768492a33
Merge pull request #20023 from yuwata/re-enable-nosuid-mount-flag
core: reenable nosuid mount flag when NoNewPrivileges=yes
2021-06-25 14:21:05 +02:00
David Tardon
99df1cb6f5 remove a left-over break
By the "same logic as above...", we want to continue to fallback here,
but the break prohibits that.

This is a follow-up for ee1aa61c47 .
2021-06-25 14:20:52 +02:00
Luca Boccassi
db4c8a2516 ExtensionImages: log explicit error when extension-release metadata does not match
When an ExtensionImages= extension-release metadata does not match, the
log messages (unless debug level is set) are pretty much incomprehensible:

systemd[463]: run-u11.service: Failed to set up mount namespacing: /run/systemd/unit-extensions/0: Stale file handle
systemd[463]: run-u11.service: Failed at step NAMESPACE spawning /usr/bin/echo: Stale file handle

Add an explicit log message if we get ESTALE from the dissect code, to
make it clear what's happening without needing to enable debugging:

systemd[463]: Failed to mount image /tmp/app3.raw, extension-release metadata does not match the lower layer's: ID=debian VERSION_ID=11 SYSEXT_LEVEL=11
2021-06-25 13:34:16 +02:00
Yu Watanabe
4dce1b9f05 udev/scsi: use the scsi device type number directly
Previously, the value is once stringified, and later again parsed,
that is completely redundant.

Follow-up for 1001167ca5.

Replaces #20013.
2021-06-25 13:31:19 +02:00
Mike Crowe
7875170f01 resolvectl: Only strip ifname suffixes when being resolvconf
Only treat interface names containing dots specially when resolvectl is
pretending to be resolvconf to fix
https://github.com/systemd/systemd/issues/20014 .

Move the special suffix-stripping behaviour of ifname_mangle out to the
new ifname_resolvconf_mangle to be called from resolvconf only.
2021-06-25 12:52:39 +02:00
Zbigniew Jędrzejewski-Szmek
157306439e
Merge pull request #19312 from yuwata/udev-escape-slash-nvme
udev: make OPTIONS="string_escape=replace" take effect on ENV{key}= assiginment
2021-06-25 10:11:04 +02:00
Zbigniew Jędrzejewski-Szmek
07b1d28a16
Merge pull request #19883 from ddstreet/activation-policy-down-required-for-online-no
Activation policy down required for online no
2021-06-25 09:26:25 +02:00
Zbigniew Jędrzejewski-Szmek
a2e2917162
Merge pull request #19941 from bluca/condition_os_release
core: add ConditionOSRelease= directive
2021-06-25 09:22:50 +02:00
Yu Watanabe
5181630f26 core: do not set nosuid mount option when SELinux is enabled
The mount option has special meaning when SELinux is enabled. To make
NoNewPrivileges=yes not break SELinux enabled systems, let's not set the
mount flag on such systems.
2021-06-25 15:37:35 +09:00
Yu Watanabe
6720e356c1 Revert "Revert "Mount all fs nosuid when NoNewPrivileges=yes""
This reverts commit 1753d30215.

Let's re-enable that feature now. As reported when the original commit
was merged, this causes some trouble on SELinux enabled systems. So,
in the subsequent commit, the feature will be disabled when SELinux is enabled.
But, anyway, this commit just re-enable that feature unconditionally.
2021-06-25 15:16:34 +09:00
Lennart Poettering
de61a04b18 tree-wide: make specifier expansion --root= aware
This fixes repart's, systemctl's, sysusers' and tmpfiles' specifier
expansion to honour the root dir specified with --root=. This is
relevant for specifiers such as %m, %o, … which are directly sourced
from files on disk.

This doesn't try to be overly smart: specifiers referring to runtime
concepts (i.e. boot ID, architecture, hostname) rather than files on the
medium are left as is. There's certainly a point to be made that they
should fail in case --root= is specified, but I am not entirely convinced
about that, and it's certainly something we can look into later if
there's reason to.

I wondered for a while how to hook this up best, but given that quite a
large number of specifiers resolve to data from files on disks, and most
of our tools needs this, I ultimately decided to make the root dir a
first class parameter to specifier_printf().

Replaces: #16187
Fixes: #16183
2021-06-24 22:30:14 +02:00
Andrea Pappacoda
0c651d32d4 docs: update autofs Kconfig name 2021-06-24 20:11:03 +02:00