Go to file
Adrian Vovk 9a077230a4 homed: Ensure closed FD is handled before bus req
Before this fix, the following sequence of events was possible:
1. A client holding a Ref() FD closes their FD
2. kernel sends notification that all clients closed their FDs
3. Another client obtains its own Ref() FD from homed
4. homed handles the notification that all clients have closed their
   Ref() FDs. Thus it loses track of the fact that the session is
   actually still being held open by the client from step 3

This change makes sure that homed won't respond to bus messages (and
thus won't open more Ref() FDs) until it has handled all notifications
about the existing FDs being closed.

logind has had a very similar fix applied to it in
e11544a830

Fixes https://github.com/systemd/systemd/issues/31518
2024-03-23 01:04:51 +00:00
.clusterfuzzlite ci: unpin CFLite 2022-04-26 09:13:57 +00:00
.github CI: revert the mmap_rnd_bits kludge 2024-03-21 10:22:43 +01:00
.semaphore semaphore: remove workaround for adduser 2024-03-11 11:15:12 +00:00
catalog catalog: update Polish translation 2024-03-12 11:37:17 +01:00
coccinelle cocci: merge mfree.cocci and mfree_return.cocci (#30838) 2024-01-09 12:24:37 +09:00
docs docs: Add one more git submodule setting to configure 2024-03-21 23:02:52 +00:00
factory man: don't suggest using pam_unix.so's use_authtok switch 2024-01-17 23:59:05 +00:00
hwdb.d Update USB ids of hwdb 2024-03-21 15:29:48 +09:00
LICENSES LICENSES/README.md: fix syntax 2023-07-08 22:33:53 +00:00
man Merge pull request #31670 from CodethinkLabs/vmspawn/generate_ssh_keys 2024-03-22 16:28:03 +00:00
mime creds-util: add a concept of "user-scoped" credentials 2024-01-30 17:07:47 +01:00
mkosi.conf.d Build distribution packages in mkosi 2024-03-07 10:47:19 +01:00
mkosi.images mkosi: Switch to Arch Linux packaging sources main branch 2024-03-22 16:51:37 +01:00
modprobe.d modprobe: set 'ifb numifbs=0' to avoid autocreating ifb0 2024-01-12 23:24:54 +00:00
network network: fix 6rd tunnel link section name 2024-01-12 21:42:04 +00:00
pkg mkosi: Switch to Arch Linux packaging sources main branch 2024-03-22 16:51:37 +01:00
po po: add pkg/debian to POTFILES.skip 2024-03-14 13:41:56 +00:00
presets preset: enable homed sidecar services 2024-02-08 22:44:00 +00:00
rules.d udev: Add /dev/media/by-path symlinks for media controllers 2024-02-22 19:27:29 +00:00
shell-completion Update _udevadm 2024-03-16 21:51:56 +09:00
src homed: Ensure closed FD is handled before bus req 2024-03-23 01:04:51 +00:00
sysctl.d sysctl.d: Fix pid_max comment 2023-10-31 13:07:49 +01:00
sysusers.d Revert "sysusers.d: create the user for systemd-journal-upload.service" 2023-12-04 19:44:10 +01:00
test test: Install test journals 2024-03-22 15:11:39 +01:00
tmpfiles.d networkctl: introduce "persistent-storage" command 2024-03-12 01:57:16 +09:00
tools docs: Add one more git submodule setting to configure 2024-03-21 23:02:52 +00:00
units units: add one more equivalency of '-' in '_' on kernel cmdline 2024-03-19 13:06:44 +00:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format Improve the formatting by adding AlignArrayOfStructures and setting it to Right(right justify) 2024-03-06 15:24:23 +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: add NEWS whitespace configuration 2023-10-26 22:41:03 +01:00
.gitattributes Mark all base64 files as generated 2023-08-16 12:49:45 +02:00
.gitignore Update to mkosi v19 2023-11-28 19:54:58 +01:00
.gitmodules mkosi: Switch to Arch Linux packaging sources main branch 2024-03-22 16:51:37 +01:00
.mailmap mailmap: "reduce contributor count by 13" 2023-08-16 12:49:42 +02:00
.packit.yml Revert "packit: temporarily build systemd without BPF stuff" 2024-02-11 16:45:03 +01:00
.pylintrc Add .pylintrc to globally suppress warnings we don't really care about 2023-08-10 18:13:29 +02:00
.vimrc vimrc: explicitly set shiftwidth for the C file type 2023-09-18 13:11:45 +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
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
meson.build basic/missing_ioprio: include the proper header file 2024-03-20 12:25:47 +01:00
meson.version meson: Start adding devel and rc suffixes to the project version 2024-02-14 15:36:34 +01:00
meson_options.txt fix the value of default shells to use /bin and not /usr/bin 2024-02-29 21:51:03 +01:00
mkosi.conf mkosi: Enable log context 2024-03-22 15:15:01 +01:00
NEWS Rename uid0 to run0 2024-03-19 16:37:22 +01:00
README README: mention fq_codel 2024-02-22 19:14:31 +00:00
README.md Revert "docs: use collections to structure the data" 2024-02-23 09:48:47 +01:00
TODO Merge pull request #31862 from keszybz/add-strdup_to-helper 2024-03-21 14:47:05 +09:00

Systemd

System and Service Manager

Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
CentOS CI - CentOS 9
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Weblate
Coverage Status
Packaging status
OpenSSF Scorecard

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, join our IRC channel #systemd on libera.chat or Matrix channel

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