xserver: Branch 'master' - 3 commits

Adam Jackson ajax at kemper.freedesktop.org
Mon Sep 21 11:19:26 PDT 2015


 dix/main.c          |    1 +
 dix/privates.c      |    9 +++++++++
 man/Xserver.man     |    7 +++----
 test/xi1/.gitignore |    1 +
 4 files changed, 14 insertions(+), 4 deletions(-)

New commits:
commit 9d65a0de95a20632f2a6a04ba596dcdd76d9f5e2
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date:   Fri Sep 18 08:44:07 2015 -0700

    Remove DECnet from Xserver.man
    
    DECnet support died in modularization (X11R7.0)
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>

diff --git a/man/Xserver.man b/man/Xserver.man
index 8a09888..ea000e1 100644
--- a/man/Xserver.man
+++ b/man/Xserver.man
@@ -433,7 +433,7 @@ elapse between autorepeat-generated keystrokes).
 loads keyboard description in \fIfilename\fP on server startup.
 .SH "NETWORK CONNECTIONS"
 The X server supports client connections via a platform-dependent subset of
-the following transport types: TCP/IP, Unix Domain sockets, DECnet,
+the following transport types: TCP/IP, Unix Domain sockets,
 and several varieties of SVR4 local connections.  See the DISPLAY
 NAMES section of the \fIX\fP(__miscmansuffix__) manual page to learn how to
 specify which transport type clients should try to use.
@@ -462,8 +462,8 @@ If no other authorization mechanism is being used,
 this list initially consists of the host on which the server is running as
 well as any machines listed in the file \fI/etc/X\fBn\fI.hosts\fR, where
 \fBn\fP is the display number of the server.  Each line of the file should
-contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a DECnet
-hostname in double colon format (e.g. hydra::) or a complete name in the format
+contain either an Internet hostname (e.g. expo.lcs.mit.edu)
+or a complete name in the format
 \fIfamily\fP:\fIname\fP as described in the \fIxhost\fP(1) manual page.
 There should be no leading or trailing spaces on any lines.  For example:
 .sp
@@ -471,7 +471,6 @@ There should be no leading or trailing spaces on any lines.  For example:
 .nf
 joesworkstation
 corporate.company.com
-star::
 inet:bigcpu
 local:
 .fi
commit 82eb490b0a341729f25d0c42a937fe29d99da521
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Thu Sep 17 16:04:33 2015 -0700

    privates: Clear screen-specific keys during CloseScreen
    
    The modesetting driver corrupts memory when used after a server regeneration
    because not enough memory is allocated for its pixmap privates.  This happens
    because its call to dixRegisterScreenSpecificPrivateKey() does nothing because
    key->initialized is still TRUE from the first server generation.  However, the
    key is not in the screen's linked list of screen-specific privates because
    that's freed and reallocated during the server generation loop in dix_main().
    
    Fix this by clearing key->initialized before CloseScreen and add a call to
    dixFreeScreenSpecificPrivates() for GPU screens.
    
    v2: Just set key->initialized to FALSE and move dixFreeScreenSpecificPrivates()
    calls to after CloseScreen.
    
    v3: Move dixFreeScreenSpecificPrivates() calls back to just before CloseScreen.
    
    Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>

diff --git a/dix/main.c b/dix/main.c
index d7a9cda..5495676 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -339,6 +339,7 @@ dix_main(int argc, char *argv[], char *envp[])
         for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
             ScreenPtr pScreen = screenInfo.gpuscreens[i];
             FreeScratchPixmapsForScreen(pScreen);
+            dixFreeScreenSpecificPrivates(pScreen);
             (*pScreen->CloseScreen) (pScreen);
             dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
             free(pScreen);
diff --git a/dix/privates.c b/dix/privates.c
index e03b225..969d014 100644
--- a/dix/privates.c
+++ b/dix/privates.c
@@ -642,6 +642,15 @@ dixRegisterScreenSpecificPrivateKey(ScreenPtr pScreen, DevPrivateKey key,
 void
 dixFreeScreenSpecificPrivates(ScreenPtr pScreen)
 {
+    DevPrivateType t;
+
+    for (t = PRIVATE_XSELINUX; t < PRIVATE_LAST; t++) {
+        DevPrivateKey key;
+
+        for (key = pScreen->screenSpecificPrivates[t].key; key; key = key->next) {
+            key->initialized = FALSE;
+        }
+    }
 }
 
 /* Initialize screen-specific privates in AddScreen */
commit 18a93da9b1f429bc54a8b236fcdd38dab58375cd
Author: Jasper St. Pierre <jstpierre at mecheye.net>
Date:   Wed Feb 18 12:41:25 2015 -0800

    test/xi1: Update .gitignore
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/test/xi1/.gitignore b/test/xi1/.gitignore
new file mode 100644
index 0000000..c1b9024
--- /dev/null
+++ b/test/xi1/.gitignore
@@ -0,0 +1 @@
+protocol-xchangedevicecontrol


More information about the xorg-commit mailing list