Browse code

Fix systemd-logind dbus connection issue.

Change-Id: Ie98a843e7159ae3b052da129157a835ed3b6d86b
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3718
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>

Vinay Kulkarni authored on 2017/09/08 12:50:08
Showing 2 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,28 @@
0
+From b007626897e73603dd57d31f83b53eaafd89f13e Mon Sep 17 00:00:00 2001
1
+From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <Werkov@users.noreply.github.com>
2
+Date: Fri, 23 Jun 2017 02:26:04 +0200
3
+Subject: [PATCH] core: dbus: Interpret released names properly (#6175)
4
+
5
+When a DBus name is released, NameOwnerChanged signal contains an empty string
6
+as new_owner. Commit bbc2908 changed interpretation of the empty string to a
7
+valid name, which is not consistent with values that are sent by dbus-daemon.
8
+
9
+As a side effect, this masks symptoms of systemd-logind dbus disconnections
10
+(#2925) by completely restarting it so it can freshly reconnect to dbus.
11
+---
12
+ src/core/unit.c | 3 +++
13
+ 1 file changed, 3 insertions(+)
14
+
15
+diff --git a/src/core/unit.c b/src/core/unit.c
16
+index 1919278301..db4934a82f 100644
17
+--- a/src/core/unit.c
18
+@@ -2638,6 +2638,9 @@ static int signal_name_owner_changed(sd_bus_message *message, void *userdata, sd
19
+                 return 0;
20
+         }
21
+ 
22
++        old_owner = isempty(old_owner) ? NULL : old_owner;
23
++        new_owner = isempty(new_owner) ? NULL : new_owner;
24
++
25
+         if (UNIT_VTABLE(u)->bus_name_owner_change)
26
+                 UNIT_VTABLE(u)->bus_name_owner_change(u, name, old_owner, new_owner);
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:          Systemd-228
2 2
 Name:             systemd
3 3
 Version:          228
4
-Release:          36%{?dist}
4
+Release:          37%{?dist}
5 5
 License:          LGPLv2+ and GPLv2+ and MIT
6 6
 URL:              http://www.freedesktop.org/wiki/Software/systemd/
7 7
 Group:            System Environment/Security
... ...
@@ -37,6 +37,7 @@ Patch21:          systemd-macros.patch
37 37
 Patch22:          systemd-228-vm-watchdog-timer.patch
38 38
 Patch23:          systemd-228-CVE-2016-10156-suid-fix.patch
39 39
 Patch24:          systemd-228-CVE-2017-9445-dns-oob.patch
40
+Patch25:          systemd-228-logind-disconnect.patch
40 41
 Requires:         Linux-PAM
41 42
 Requires:         libcap
42 43
 Requires:         xz
... ...
@@ -94,6 +95,7 @@ sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")
94 94
 %patch22 -p1
95 95
 %patch23 -p1
96 96
 %patch24 -p1
97
+%patch25 -p1
97 98
 sed -i "s#\#DefaultTasksMax=512#DefaultTasksMax=infinity#g" src/core/system.conf
98 99
 
99 100
 %build
... ...
@@ -220,6 +222,8 @@ rm -rf %{buildroot}/*
220 220
 
221 221
 
222 222
 %changelog
223
+*    Thu Sep 07 2017 Vinay Kulkarni <kulkarniv@vmware.com>  228-37
224
+-    Fix systemd-logind dbus disconnection issue.
223 225
 *    Fri Jul 28 2017 Dheeraj Shetty <dheerajs@vmware.com>  228-36
224 226
 -    Removed systemd-sysusers.service,plymouth-quit-wait.service and
225 227
 -    plymouth-start.service from all service files.