xserver: Branch 'server-1.20-branch'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 7 17:39:06 UTC 2019


 miext/sync/misyncstr.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c747dbb250c11c6a02641b253e7322145dc9b913
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Sep 23 18:35:41 2019 +0200

    miext/sync: Make struct _SyncObject::initialized fully ABI compatible
    
    With a 32-bit build, putting the initialized field at the end of the
    struct bumped the struct size from 20 bytes to 24, changing the layout
    of other structs embedding struct _SyncObject. While this would be
    acceptable on master, it caused crashes with 1.20.
    
    Making the initialized field a char and putting it in the hole before
    the beingDestroyed field restores the 32-bit ABI as well.
    
    Fixes https://gitlab.freedesktop.org/xorg/xserver/issues/892
    
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-by: Alex Goins <agoins at nvidia.com>
    (cherry picked from commit 0d8cc7bb180468fee72330f40d87f6e9db7b42c0)

diff --git a/miext/sync/misyncstr.h b/miext/sync/misyncstr.h
index ea48a4519..6f89714d6 100644
--- a/miext/sync/misyncstr.h
+++ b/miext/sync/misyncstr.h
@@ -43,8 +43,8 @@ struct _SyncObject {
     struct _SyncTriggerList *pTriglist; /* list of triggers */
     XID id;                     /* resource ID */
     unsigned char type;         /* SYNC_* */
+    unsigned char initialized;  /* FALSE if created but not initialized */
     Bool beingDestroyed;        /* in process of going away */
-    Bool initialized;           /* FALSE if created but not initialized */
 };
 
 typedef struct _SyncCounter {


More information about the xorg-commit mailing list