[arch-commits] Commit in xorg-server/trunk (2 files)

andyrtr at archlinux.org andyrtr at archlinux.org
Sun Jan 29 15:43:42 UTC 2012


    Date: Sunday, January 29, 2012 @ 10:43:42
  Author: andyrtr
Revision: 147992

upgpkg: xorg-server 1.11.4-1

upstream update 1.11.4

Modified:
  xorg-server/trunk/PKGBUILD
Deleted:
  xorg-server/trunk/xserver-1.11.2-record-crasher.patch

-------------------------------------+
 PKGBUILD                            |   10 -
 xserver-1.11.2-record-crasher.patch |  241 ----------------------------------
 2 files changed, 2 insertions(+), 249 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-01-29 12:47:57 UTC (rev 147991)
+++ PKGBUILD	2012-01-29 15:43:42 UTC (rev 147992)
@@ -3,7 +3,7 @@
 
 pkgbase=xorg-server
 pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.11.3
+pkgver=1.11.4
 pkgrel=1
 arch=('i686' 'x86_64')
 license=('custom')
@@ -15,15 +15,13 @@
         autoconfig-sis.patch
         revert-trapezoids.patch
         #git-fixes.patch
-        xserver-1.11.2-record-crasher.patch
         xvfb-run
         xvfb-run.1
         10-quirks.conf)
-md5sums=('a7194c437963627e1db0dd2d6c1a1984'
+md5sums=('256325e9b17dff479d92bed97f6b0adb'
          '6c7e87d63ac4b535e19a80c89d0cf091'
          'f8194638ca4872c2b0a67862a70bcebf'
          'f6c84f4936f8e00abdfbd9fb4eda83fb'
-         '3f9de4dbfee2da90167192d8ca9eb2b4'
          '52fd3effd80d7bc6c1660d4ecf23d31c'
          '376c70308715cd2643f7bff936d9934b'
          'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
@@ -43,10 +41,6 @@
   # Add post-release patches from 1.11 branch
 #  patch -Np1 -i "${srcdir}/git-fixes.patch"
 
-  # From Fedora.
-  # Upstream URL: http://patchwork.freedesktop.org/patch/7866/
-  patch -Np1 -i "${srcdir}/xserver-1.11.2-record-crasher.patch"
-
   autoreconf -fi
   ./configure --prefix=/usr \
       --enable-ipv6 \

Deleted: xserver-1.11.2-record-crasher.patch
===================================================================
--- xserver-1.11.2-record-crasher.patch	2012-01-29 12:47:57 UTC (rev 147991)
+++ xserver-1.11.2-record-crasher.patch	2012-01-29 15:43:42 UTC (rev 147992)
@@ -1,241 +0,0 @@
-From patchwork Tue Nov  8 18:22:13 2011
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Subject: Save major/minor opcodes in ClientRec for RecordAReply
-Date: Tue, 08 Nov 2011 18:22:13 -0000
-From: Keith Packard <keithp at keithp.com>
-X-Patchwork-Id: 7866
-Message-Id: <1320776533-3120-1-git-send-email-keithp at keithp.com>
-To: xorg-devel at lists.freedesktop.org
-
-The record extension needs the major and minor opcodes in the reply
-hook, but the request buffer may have been freed by the time the hook
-is invoked. Saving the request major and minor codes as the request is
-executed avoids fetching from the defunct request buffer.
-
-This patch also eliminates the public MinorOpcodeOfRequest function,
-making it static to dispatch. Usages of that function have been
-replaced with direct access to the new ClientRec field.
-
-Signed-off-by: Keith Packard <keithp at keithp.com>
-Reviewed-by: Rami Ylimäki <rami.ylimaki at vincit.fi>
-
----
-Here's what I was thinking of to fix this -- just record the major and
-minor opcodes of the request in the ClientRec during Dispatch and then
-using those fields in RecordAReply instead of fetching the discarded
-request buffer.
-
-This is entirely untested; I don't know how to make the old code break.
-
- Xext/security.c       |    4 +---
- Xext/xselinux_hooks.c |    4 ++--
- dix/dispatch.c        |   31 ++++++++++++++++++++++---------
- dix/extension.c       |   14 --------------
- include/dixstruct.h   |    1 +
- include/extension.h   |    2 --
- record/record.c       |    8 +++-----
- 7 files changed, 29 insertions(+), 35 deletions(-)
-
-[ fedora: technically this is an ABI breaker since it's changing ClientRec,
-  but hopefully not in a way that matters.  If it does matter, easiest thing
-  to do is have Record add a hook for XaceHookDispatch. - ajax ]
-
-diff --git a/Xext/security.c b/Xext/security.c
-index 08d8158..b0d82ab 100644
---- a/Xext/security.c
-+++ b/Xext/security.c
-@@ -148,9 +148,7 @@ SecurityLabelInitial(void)
- static _X_INLINE const char *
- SecurityLookupRequestName(ClientPtr client)
- {
--    int major = ((xReq *)client->requestBuffer)->reqType;
--    int minor = MinorOpcodeOfRequest(client);
--    return LookupRequestName(major, minor);
-+    return LookupRequestName(client->majorOp, client->minorOp);
- }
- 
- 
-diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c
-index f1d8e5d..0d4c9ab 100644
---- a/Xext/xselinux_hooks.c
-+++ b/Xext/xselinux_hooks.c
-@@ -263,8 +263,8 @@ SELinuxAudit(void *auditdata,
-     if (client) {
- 	REQUEST(xReq);
- 	if (stuff) {
--	    major = stuff->reqType;
--	    minor = MinorOpcodeOfRequest(client);
-+	    major = client->majorOp;
-+	    minor = client->minorOp;
- 	}
-     }
-     if (audit->id)
-diff --git a/dix/dispatch.c b/dix/dispatch.c
-index 6e33615..3600acd 100644
---- a/dix/dispatch.c
-+++ b/dix/dispatch.c
-@@ -337,7 +337,20 @@ DisableLimitedSchedulingLatency(void)
- 	SmartScheduleLatencyLimited = 0;
- }
- 
--#define MAJOROP ((xReq *)client->requestBuffer)->reqType
-+static inline unsigned short
-+MinorOpcodeOfRequest(ClientPtr client)
-+{
-+    unsigned char major;
-+    ExtensionEntry *ext;
-+
-+    major = ((xReq *)client->requestBuffer)->reqType;
-+    if (major < EXTENSION_BASE)
-+	return 0;
-+    ext = GetExtensionEntry(major);
-+    if (!ext)
-+	return 0;
-+    return ext->MinorOpcode (client);
-+}
- 
- void
- Dispatch(void)
-@@ -419,21 +432,23 @@ Dispatch(void)
- 	        }
- 
- 		client->sequence++;
-+		client->majorOp = ((xReq *)client->requestBuffer)->reqType;
-+		client->minorOp = MinorOpcodeOfRequest(client);
- #ifdef XSERVER_DTRACE
--		XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
-+		XSERVER_REQUEST_START(LookupMajorName(client->majorOp), client->majorOp,
- 			      ((xReq *)client->requestBuffer)->length,
- 			      client->index, client->requestBuffer);
- #endif
- 		if (result > (maxBigRequestSize << 2))
- 		    result = BadLength;
- 		else {
--		    result = XaceHookDispatch(client, MAJOROP);
-+		    result = XaceHookDispatch(client, client->majorOp);
- 		    if (result == Success)
--			result = (* client->requestVector[MAJOROP])(client);
-+			result = (* client->requestVector[client->majorOp])(client);
- 		    XaceHookAuditEnd(client, result);
- 		}
- #ifdef XSERVER_DTRACE
--		XSERVER_REQUEST_DONE(LookupMajorName(MAJOROP), MAJOROP,
-+		XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp), client->majorOp,
- 			      client->sequence, client->index, result);
- #endif
- 
-@@ -444,8 +459,8 @@ Dispatch(void)
- 		}
- 		else if (result != Success)
- 		{
--		    SendErrorToClient(client, MAJOROP,
--				      MinorOpcodeOfRequest(client),
-+		    SendErrorToClient(client, client->majorOp,
-+				      client->minorOp,
- 				      client->errorValue, result);
- 		    break;
- 		}
-@@ -466,8 +481,6 @@ Dispatch(void)
-     SmartScheduleLatencyLimited = 0;
- }
- 
--#undef MAJOROP
--
- static int  VendorRelease = VENDOR_RELEASE;
- static char *VendorString = VENDOR_NAME;
- 
-diff --git a/dix/extension.c b/dix/extension.c
-index c7bbac5..b677cdb 100644
---- a/dix/extension.c
-+++ b/dix/extension.c
-@@ -228,20 +228,6 @@ StandardMinorOpcode(ClientPtr client)
-     return ((xReq *)client->requestBuffer)->data;
- }
- 
--unsigned short
--MinorOpcodeOfRequest(ClientPtr client)
--{
--    unsigned char major;
--
--    major = ((xReq *)client->requestBuffer)->reqType;
--    if (major < EXTENSION_BASE)
--	return 0;
--    major -= EXTENSION_BASE;
--    if (major >= NumExtensions)
--	return 0;
--    return (*extensions[major]->MinorOpcode)(client);
--}
--
- void
- CloseDownExtensions(void)
- {
-diff --git a/include/dixstruct.h b/include/dixstruct.h
-index 6cc9614..0a85f40 100644
---- a/include/dixstruct.h
-+++ b/include/dixstruct.h
-@@ -122,6 +122,7 @@ typedef struct _Client {
-     
-     DeviceIntPtr clientPtr;
-     ClientIdPtr  clientIds;
-+    unsigned short majorOp, minorOp;
- }           ClientRec;
- 
- /*
-diff --git a/include/extension.h b/include/extension.h
-index 29a11c3..9249951 100644
---- a/include/extension.h
-+++ b/include/extension.h
-@@ -52,8 +52,6 @@ _XFUNCPROTOBEGIN
- 
- extern _X_EXPORT unsigned short StandardMinorOpcode(ClientPtr /*client*/);
- 
--extern _X_EXPORT unsigned short MinorOpcodeOfRequest(ClientPtr /*client*/);
--
- extern _X_EXPORT Bool EnableDisableExtension(char *name, Bool enable);
- 
- extern _X_EXPORT void EnableDisableExtensionError(char *name, Bool enable);
-diff --git a/record/record.c b/record/record.c
-index 68311ac..4a0fe23 100644
---- a/record/record.c
-+++ b/record/record.c
-@@ -546,7 +546,7 @@ RecordARequest(ClientPtr client)
- 	    }
- 	    else /* extension, check minor opcode */
- 	    {
--		int minorop = MinorOpcodeOfRequest(client);
-+		int minorop = client->minorOp;
- 		int numMinOpInfo;
- 		RecordMinorOpPtr pMinorOpInfo = pRCAP->pRequestMinOpInfo;
- 
-@@ -603,12 +603,9 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
-     RecordContextPtr pContext;
-     RecordClientsAndProtocolPtr pRCAP;
-     int eci;
--    int majorop;
-     ReplyInfoRec *pri = (ReplyInfoRec *)calldata;
-     ClientPtr client = pri->client;
--    REQUEST(xReq);
- 
--    majorop = stuff->reqType;
-     for (eci = 0; eci < numEnabledContexts; eci++)
-     {
- 	pContext = ppAllContexts[eci];
-@@ -616,6 +613,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
- 					  NULL);
- 	if (pRCAP)
- 	{
-+	    int majorop = client->majorOp;
- 	    if (pContext->continuedReply)
- 	    {
- 		RecordAProtocolElement(pContext, client, XRecordFromServer,
-@@ -635,7 +633,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
- 		}
- 		else /* extension, check minor opcode */
- 		{
--		    int minorop = MinorOpcodeOfRequest(client);
-+		    int minorop = client->minorOp;
- 		    int numMinOpInfo;
- 		    RecordMinorOpPtr pMinorOpInfo = pRCAP->pReplyMinOpInfo;
- 		    		    assert (pMinorOpInfo);




More information about the arch-commits mailing list