1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-13 13:17:43 +03:00
Backports of patch from systemd git to stable distributions
Go to file
Lennart Poettering de90700f36 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>
2022-02-18 10:49:36 +01:00
.clusterfuzzlite ci: merge seed corpora with public OSS-Fuzz corpora on CFLite 2022-01-30 10:17:25 +00:00
.github ci: explicitly disable multi-status for Super-Linter 2022-02-13 14:59:08 +01:00
.lgtm/cpp-queries ci: pack-ify our custom CodeQL queries and enable them in Actions 2021-12-07 14:57:09 +01:00
.semaphore Change all fixed-path bash shebangs to /u/b/env bash outside test/ 2021-12-12 21:13:50 +01:00
catalog meson: Add missing test dependencies 2022-01-22 01:56:03 +09:00
coccinelle coccinelle: automatically switch some uses of memcpy() → mempcpy() 2022-02-16 17:26:26 +01:00
docs docs: $SYSTEMD_NSS_BYPASS_BUS is not honoured anymore, don't document it 2022-02-18 10:49:31 +01:00
factory factory/locale.conf: mention systemd ownership 2021-12-23 14:18:02 +00:00
hwdb.d hwdb: 60-keyboard: Support the buttons on CZC P10T tablet 2022-02-18 08:27:17 +01:00
LICENSES network: license all config files as CC0 2022-01-12 16:05:59 +01:00
man network,udev/net: add Kind= settings in [Match] section 2022-02-17 23:10:26 +09:00
mkosi.default.d mkosi: Add more packages required to run systemd-networkd-tests.py 2022-02-17 18:17:36 +00:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network network: add example file that enables DHCP on ethernet links 2022-01-12 16:05:59 +01:00
po fix italian translations to display unit name 2022-02-03 23:05:58 +09:00
presets units: enable systemd-network-generator by default 2021-12-16 09:49:39 +01:00
rules.d rule: fallback to use board information if product information is not set 2022-01-23 13:04:37 +09:00
shell-completion bus-dump: change capture output to use pcapng (#21738) 2021-12-25 15:07:40 +09:00
src pid1: set SYSTEMD_NSS_DYNAMIC_BYPASS=1 env var for dbus-daemon 2022-02-18 10:49:36 +01:00
sysctl.d build: preserve correct mode when generating files via jinja2 2021-11-08 12:06:48 +00:00
sysusers.d sysusers: avoid creating spurious "nobody" group 2021-11-30 16:16:25 +01:00
test Merge pull request #22545 from yuwata/network-match-kind 2022-02-18 01:20:18 +09:00
tmpfiles.d factory: populate /etc/locale.conf with systemd build-time setting 2021-12-23 11:01:12 +00:00
tools ci: merge seed corpora with public OSS-Fuzz corpora on CFLite 2022-01-30 10:17:25 +00:00
units units: we need systemd-journald.service from systemd-journal-flush.service 2022-02-02 05:09:39 +09:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format various: fix three spelling issues found by fossies 2022-01-03 21:16:06 +01:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig editorconfig: set maximum line length to 109 for man/*.xml files 2021-09-30 13:45:34 +02:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore gitignore: remove patterns for build files in source dir 2021-12-08 09:52:31 +01:00
.lgtm.yml ci: add a missing SPDX header 2021-12-07 14:15:04 +01:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop unnumbered patches as well 2022-02-17 14:45:41 +00:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure tools: shellcheck-ify tool scripts 2021-09-30 12:27:06 +02:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson_options.txt meson: Remove efi-cc option 2022-01-02 10:18:26 +01:00
meson.build meson: disable export-dbus-interfaces target when cross-compiling 2022-02-09 14:31:44 +01:00
mkosi.build ci: check for failed services after boot 2021-12-10 10:25:43 +01:00
mkosi.postinst ci: check for failed services after boot 2021-12-10 10:25:43 +01:00
NEWS NEWS: update excerpt on container UID/GID mappings 2022-02-16 13:37:01 +01:00
README README: CONFIG_KCMP is the new kernel compile time option for kcmp() 2022-02-08 19:54:14 +09:00
README.md Fix loading of graphs 2021-12-14 15:27:25 +09:00
TODO TODO 2022-02-16 13:30:20 +01:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Language Grade: C/C++
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Coverage Status
Packaging status

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.