Add patch to fix udev --daemon crash (upstream commit 040e689654ef08).
This commit is contained in:
parent
90957559ef
commit
78ba63c3c7
45
0001-udevd-event-fix-event-queue-in-daemenozied-mode.patch
Normal file
45
0001-udevd-event-fix-event-queue-in-daemenozied-mode.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 040e689654ef08c63ab93bf0875865398e8d9c91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Gundersen <teg@jklm.no>
|
||||||
|
Date: Sun, 24 May 2015 15:20:36 +0200
|
||||||
|
Subject: [PATCH] udevd: event - fix event queue in daemenozied mode
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
We would enforce that events could only be added to the queue from the
|
||||||
|
main process, but that brake in daemonized mode. Relax the restriction
|
||||||
|
to only allow one process to add events to the queue.
|
||||||
|
|
||||||
|
Reported by Mantas Mikulėnas.
|
||||||
|
---
|
||||||
|
src/udev/udevd.c | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
|
||||||
|
index 4a44b03..b33a262 100644
|
||||||
|
--- a/src/udev/udevd.c
|
||||||
|
+++ b/src/udev/udevd.c
|
||||||
|
@@ -564,7 +564,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
|
||||||
|
assert(manager);
|
||||||
|
assert(dev);
|
||||||
|
|
||||||
|
- /* only the main process can add events to the queue */
|
||||||
|
+ /* only one process can add events to the queue */
|
||||||
|
+ if (manager->pid == 0)
|
||||||
|
+ manager->pid = getpid();
|
||||||
|
+
|
||||||
|
assert(manager->pid == getpid());
|
||||||
|
|
||||||
|
event = new0(struct event, 1);
|
||||||
|
@@ -1300,8 +1303,6 @@ static int manager_new(Manager **ret) {
|
||||||
|
if (!manager)
|
||||||
|
return log_oom();
|
||||||
|
|
||||||
|
- manager->pid = getpid();
|
||||||
|
-
|
||||||
|
manager->fd_ep = -1;
|
||||||
|
manager->fd_ctrl = -1;
|
||||||
|
manager->fd_uevent = -1;
|
||||||
|
--
|
||||||
|
2.3.1
|
||||||
|
|
10
systemd.spec
10
systemd.spec
@ -16,7 +16,7 @@
|
|||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 220
|
Version: 220
|
||||||
Release: 1%{?gitcommit:.git%{gitcommit}}%{?dist}
|
Release: 2%{?gitcommit:.git%{gitcommit}}%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: A System and Service Manager
|
Summary: A System and Service Manager
|
||||||
@ -42,6 +42,11 @@ Source8: systemd-journal-gatewayd.xml
|
|||||||
# kernel-install patch for grubby, drop if grubby is obsolete
|
# kernel-install patch for grubby, drop if grubby is obsolete
|
||||||
Patch1000: kernel-install-grubby.patch
|
Patch1000: kernel-install-grubby.patch
|
||||||
|
|
||||||
|
# Fix udev --daemon crash:
|
||||||
|
# http://comments.gmane.org/gmane.comp.sysutils.systemd.devel/32067
|
||||||
|
# This is upstream commit 040e689654ef08.
|
||||||
|
Patch1001: 0001-udevd-event-fix-event-queue-in-daemenozied-mode.patch
|
||||||
|
|
||||||
%global num_patches %{lua: c=0; for i,p in ipairs(patches) do c=c+1; end; print(c);}
|
%global num_patches %{lua: c=0; for i,p in ipairs(patches) do c=c+1; end; print(c);}
|
||||||
|
|
||||||
BuildRequires: libcap-devel
|
BuildRequires: libcap-devel
|
||||||
@ -840,6 +845,9 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
|
|||||||
/usr/lib/firewalld/services/*
|
/usr/lib/firewalld/services/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 27 2015 Richard W.M. Jones <rjones@redhat.com> - 220-2
|
||||||
|
- Add patch to fix udev --daemon crash (upstream commit 040e689654ef08).
|
||||||
|
|
||||||
* Thu May 21 2015 Lennart Poettering <lpoetter@redhat.com> - 220-1
|
* Thu May 21 2015 Lennart Poettering <lpoetter@redhat.com> - 220-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
- Drop /etc/mtab hack, as that's apparently fixed in mock now (#1116158)
|
- Drop /etc/mtab hack, as that's apparently fixed in mock now (#1116158)
|
||||||
|
Loading…
Reference in New Issue
Block a user