mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
a60f96fcf5
Previously, even if a.service has JoinsNamespaceOf=b.service, the inverse direction of reference was not introduced. Hence, a.service is started earlier than b.service, the namespace will not shared with b.service. Also, even if a.service had the reference to b.service, b.service did not. If b.service is freed earlier, then unit_clear_dependencies() does not clear the reference from a to b, and will cause use-after-free on unit_free() for a.service. Let's make JoinsNamespaceOf=b.service in a.service implies the inverse dependency, i.e. JoinsNamespaceOf=a.service for b.service. Then, we can safely free b.service.
10 lines
298 B
Desktop File
10 lines
298 B
Desktop File
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
[Service]
|
|
Type=notify
|
|
NotifyAccess=all
|
|
MountAPIVFS=yes
|
|
PrivateTmp=yes
|
|
ExecStartPre=test -e /tmp/shared-private-file-x
|
|
ExecStartPre=test ! -e /tmp/hoge
|
|
ExecStart=/bin/bash -c 'touch /tmp/shared-private-file-y && systemd-notify --ready && sleep infinity'
|