[packages/xorg-xserver-server] - up to 1.17.4
arekm
arekm at pld-linux.org
Wed Oct 28 17:53:25 CET 2015
commit b02f744188d3cd79dcb1fb38b77f3542d111f3f4
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Wed Oct 28 17:53:18 2015 +0100
- up to 1.17.4
xorg-xserver-server-xproto-crash.patch | 59 ----------------------------------
xorg-xserver-server.spec | 10 +++---
2 files changed, 5 insertions(+), 64 deletions(-)
---
diff --git a/xorg-xserver-server.spec b/xorg-xserver-server.spec
index b55f470..3484e66 100644
--- a/xorg-xserver-server.spec
+++ b/xorg-xserver-server.spec
@@ -34,12 +34,12 @@
Summary: X.org server
Summary(pl.UTF-8): Serwer X.org
Name: xorg-xserver-server
-Version: 1.17.3
-Release: 2
+Version: 1.17.4
+Release: 1
License: MIT
Group: X11/Servers
Source0: http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
-# Source0-md5: 886eb794750f95d7e35e766a0ed0e8a6
+# Source0-md5: 1509a9daae713895e7f5bcba8bcc05b2
Source1: 10-quirks.conf
Source2: xserver.pamd
Source10: %{name}-Xvfb.init
@@ -49,7 +49,7 @@ Source12: xvfb-run.sh
Patch0: %{name}-xwrapper.patch
Patch1: %{name}-pic-libxf86config.patch
Patch2: dtrace-link.patch
-Patch3: xorg-xserver-server-xproto-crash.patch
+
Patch4: %{name}-builtin-SHA1.patch
Patch6: 110_nvidia_slowdow_fix.patch
@@ -431,7 +431,7 @@ Biblioteka rozszerzenia GLX dla serwera X.org.
%patch0 -p0
%patch1 -p1
%patch2 -p1
-%patch3 -p1
+
%patch4 -p1
%patch6 -p1
diff --git a/xorg-xserver-server-xproto-crash.patch b/xorg-xserver-server-xproto-crash.patch
deleted file mode 100644
index 6201c30..0000000
--- a/xorg-xserver-server-xproto-crash.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit 50c167164700e8ead9b7ccf9f9eafc7541baac75
-Author: Martin Peres <martin.peres at linux.intel.com>
-Date: Mon Jul 20 10:37:30 2015 +0300
-
- os: make sure the clientsWritable fd_set is initialized before use
-
- In WaitForSomething(), the fd_set clientsWritable may be used
- unitialized when the boolean AnyClientsWriteBlocked is set in the
- WakeupHandler(). This leads to a crash in FlushAllOutput() after
- x11proto's commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7.
-
- The problem did not manifest before because both the XFD_SIZE and the
- maximum number of clients were set to 256. As the connectionTranslation
- table was initalized for the 256 clients to 0, the test on the index not
- being 0 was aborting before dereferencing the client #0.
-
- As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the
- XFD_SIZE got bumped to 512. This lead the OutputPending fd_set to have
- any fd above 256 to be uninitialized which in turns lead to reading an
- index after the end of the ConnectionTranslation table. This index would
- then be used to find the client corresponding to the fd marked as
- pending writes and would also result to an out-of-bound access which
- would usually be the fatal one.
-
- Fix this by zeroing the clientsWritable fd_set at the beginning of
- WaitForSomething(). In this case, the bottom part of the loop, which
- would indirectly call FlushAllOutput, will not do any work but the next
- call to select will result in the execution of the right codepath. This
- is exactly what we want because we need to know the writable clients
- before handling them. In the end, it also makes sure that the fds above
- MaxClient are initialized, preventing the crash in FlushAllOutput().
-
- Thanks to everyone involved in tracking this one down!
-
- Reported-by: Karol Herbst <freedesktop at karolherbst.de>
- Reported-by: Tobias Klausmann <tobias.klausmann at mni.thm.de>
- Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
- Tested-by: Tobias Klausmann <tobias.klausmann at mni.thm.de>
- Tested-by: Martin Peres <martin.peres at linux.intel.com>
- Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316
- Cc: Ilia Mirkin <imirkin at alum.mit.edu>
- Cc: Olivier Fourdan <ofourdan at redhat.com
- Cc: Adam Jackson <ajax at redhat.com>
- Cc: Alan Coopersmith <alan.coopersmith at oracle.com
- Cc: Chris Wilson <chris at chris-wilson.co.uk>
- Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
-
-diff --git a/os/WaitFor.c b/os/WaitFor.c
-index 431f1a6..993c14e 100644
---- a/os/WaitFor.c
-+++ b/os/WaitFor.c
-@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady)
- Bool someReady = FALSE;
-
- FD_ZERO(&clientsReadable);
-+ FD_ZERO(&clientsWritable);
-
- if (nready)
- SmartScheduleStopTimer();
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xorg-xserver-server.git/commitdiff/b02f744188d3cd79dcb1fb38b77f3542d111f3f4
More information about the pld-cvs-commit
mailing list