[packages/systemd] attempt to fix logind restart issue

atler atler at pld-linux.org
Thu Jun 11 18:33:58 CEST 2020


commit a961acde448065bf8e57573d8bfd3318465bd8cf
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Jun 11 18:31:49 2020 +0200

    attempt to fix logind restart issue
    
    https://github.com/systemd/systemd/issues/16146

 systemd-logind_restart.patch | 38 ++++++++++++++++++++++++++++++++++++++
 systemd.spec                 |  2 ++
 2 files changed, 40 insertions(+)
---
diff --git a/systemd.spec b/systemd.spec
index 04298c8..1a60aa5 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -77,6 +77,7 @@ Patch12:	uids_gids.patch
 Patch13:	sysctl.patch
 Patch14:	pld-pam-%{name}-user.patch
 Patch15:	%{name}-x32.patch
+Patch16:	%{name}-logind_restart.patch
 URL:		https://www.freedesktop.org/wiki/Software/systemd/
 BuildRequires:	acl-devel
 %{?with_audit:BuildRequires:	audit-libs-devel}
@@ -673,6 +674,7 @@ Uzupełnianie parametrów w zsh dla poleceń udev.
 %patch13 -p1
 %patch14 -p1
 %patch15 -p1
+%patch16 -p1
 
 cp -p %{SOURCE2} src/systemd_booted.c
 
diff --git a/systemd-logind_restart.patch b/systemd-logind_restart.patch
new file mode 100644
index 0000000..376542d
--- /dev/null
+++ b/systemd-logind_restart.patch
@@ -0,0 +1,38 @@
+From 0664daffee63648ff93b5571421149383501d356 Mon Sep 17 00:00:00 2001
+From: Jan Palus <atler at pld-linux.org>
+Date: Thu, 11 Jun 2020 18:23:28 +0200
+Subject: [PATCH] login: filenames in /run/systemd/users are uids
+
+Fixes: #16146
+Signed-off-by: Jan Palus <atler at pld-linux.org>
+---
+ src/login/logind.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/login/logind.c b/src/login/logind.c
+index 5a556f9ea4..3239f7d18a 100644
+--- a/src/login/logind.c
++++ b/src/login/logind.c
+@@ -328,11 +328,18 @@ static int manager_enumerate_users(Manager *m) {
+ 
+         FOREACH_DIRENT(de, d, return -errno) {
+                 User *u;
++                uid_t uid;
+ 
+                 if (!dirent_is_file(de))
+                         continue;
+ 
+-                k = manager_add_user_by_name(m, de->d_name, &u);
++                k = safe_atou(de->d_name, &uid);
++                if (k < 0) {
++                        r = log_warning_errno(k, "Failed to add user by file name %s, ignoring: %m", de->d_name);
++                        continue;
++                }
++
++                k = manager_add_user_by_uid(m, uid, &u);
+                 if (k < 0) {
+                         r = log_warning_errno(k, "Failed to add user by file name %s, ignoring: %m", de->d_name);
+                         continue;
+-- 
+2.27.0
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/systemd.git/commitdiff/a961acde448065bf8e57573d8bfd3318465bd8cf



More information about the pld-cvs-commit mailing list