[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'ubuntu-trusty'



 debian/changelog                    |    8 +++-
 debian/patches/fix-svga-ioctl.patch |   64 ++++++++++++++++++++++++++++++++++++
 debian/patches/series               |    1 
 3 files changed, 71 insertions(+), 2 deletions(-)

New commits:
commit 9111b8fb9747266d2bd37195d092d8a1d2a1c076
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Sep 30 09:50:25 2014 +0200

    release to trusty

diff --git a/debian/changelog b/debian/changelog
index 25b0bc3..fec4ee1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (10.1.3-0ubuntu0.2) UNRELEASED; urgency=medium
+mesa (10.1.3-0ubuntu0.2) trusty; urgency=medium
 
   [ Timo Aaltonen ]
   * Drop fix-kwin.diff hack, as 10.1.3 has 0380ec467d78f40 which
@@ -7,7 +7,7 @@ mesa (10.1.3-0ubuntu0.2) UNRELEASED; urgency=medium
   [ Maarten Lankhorst ]
   * Add fix-svga-ioctl.patch (LP: #1365490)
 
- -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 08 Jul 2014 15:16:22 +0300
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 30 Sep 2014 09:50:04 +0200
 
 mesa (10.1.3-0ubuntu0.1) trusty; urgency=medium
 

commit 19af4f066620a1ce1c287d21b1eac23fb701323b
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Sep 30 09:49:59 2014 +0200

    Add fix-svga-ioctl.patch (LP: #1365490)

diff --git a/debian/changelog b/debian/changelog
index e0e0b28..25b0bc3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,12 @@
 mesa (10.1.3-0ubuntu0.2) UNRELEASED; urgency=medium
 
+  [ Timo Aaltonen ]
   * Drop fix-kwin.diff hack, as 10.1.3 has 0380ec467d78f40 which
     fixes the issue properly.
 
+  [ Maarten Lankhorst ]
+  * Add fix-svga-ioctl.patch (LP: #1365490)
+
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 08 Jul 2014 15:16:22 +0300
 
 mesa (10.1.3-0ubuntu0.1) trusty; urgency=medium
diff --git a/debian/patches/fix-svga-ioctl.patch b/debian/patches/fix-svga-ioctl.patch
new file mode 100644
index 0000000..7a63322
--- /dev/null
+++ b/debian/patches/fix-svga-ioctl.patch
@@ -0,0 +1,64 @@
+commit 2d6206140afe9ecb551822ea00c36eeeef7edfbf
+Author: Thomas Hellstrom <thellstrom@vmware.com>
+Date:   Wed Sep 3 11:14:51 2014 +0200
+
+    winsys/svga: Fix incorrect type usage in IOCTL v2
+    
+    While similar in layout, the size of the SVGA3dSize type may be smaller than
+    the struct drm_vmw_size type that is part of the ioctl interface. The kernel
+    driver could accordingly overwrite a memory area following the size variable
+    on the stack. Typically that would be another local variable, causing
+    breakage in, for example, ubuntu 12.04.5 where the handle local variable
+    becomes overwritten.
+    
+    v2: Fix whitespace errors
+    
+    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
+    Cc: "10.1 10.2 10.3" <mesa-stable@lists.freedesktop.org>
+
+diff --git a/src/gallium/winsys/svga/drm/vmw_screen_dri.c b/src/gallium/winsys/svga/drm/vmw_screen_dri.c
+index 79a1b3e..9f33590 100644
+--- a/src/gallium/winsys/svga/drm/vmw_screen_dri.c
++++ b/src/gallium/winsys/svga/drm/vmw_screen_dri.c
+@@ -238,7 +238,7 @@ out_mip:
+ 
+ static struct svga_winsys_surface *
+ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
+-			    struct winsys_handle *whandle,
++                            struct winsys_handle *whandle,
+ 			    SVGA3dSurfaceFormat *format)
+ {
+     struct vmw_svga_winsys_surface *vsrf;
+@@ -248,7 +248,8 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
+     struct drm_vmw_surface_arg *req = &arg.req;
+     struct drm_vmw_surface_create_req *rep = &arg.rep;
+     uint32_t handle = 0;
+-    SVGA3dSize size;
++    struct drm_vmw_size size;
++    SVGA3dSize base_size;
+     int ret;
+     int i;
+ 
+@@ -274,7 +275,7 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
+ 
+     memset(&arg, 0, sizeof(arg));
+     req->sid = handle;
+-    rep->size_addr = (size_t)&size;
++    rep->size_addr = (unsigned long)&size;
+ 
+     ret = drmCommandWriteRead(vws->ioctl.drm_fd, DRM_VMW_REF_SURFACE,
+ 			      &arg, sizeof(arg));
+@@ -324,7 +325,11 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws,
+     *format = rep->format;
+ 
+     /* Estimate usage, for early flushing. */
+-    vsrf->size = svga3dsurface_get_serialized_size(rep->format, size,
++
++    base_size.width = size.width;
++    base_size.height = size.height;
++    base_size.depth = size.depth;
++    vsrf->size = svga3dsurface_get_serialized_size(rep->format, base_size,
+                                                    rep->mip_levels[0],
+                                                    FALSE);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index e939400..0b36287 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,3 +15,4 @@ i965-dont-call-abort-on-unknown-dev.diff
 enable-bdw.diff
 fix-unity-on-bdw.diff
 fix-gpu-hangs-on-bdw.diff
+fix-svga-ioctl.patch


Reply to: