[packages/Mesa] add patch to fix segfault in PLD guest running under VirtualBox; rel 2

atler atler at pld-linux.org
Wed Jul 4 13:01:36 CEST 2018


commit 4e00c32bcc43a6fcd88b0e1ae509afa66aa69b88
Author: Jan Palus <atler at pld-linux.org>
Date:   Wed Jul 4 13:00:24 2018 +0200

    add patch to fix segfault in PLD guest running under VirtualBox; rel 2
    
    see https://bugs.freedesktop.org/show_bug.cgi?id=107098

 Mesa-munmap_null.patch | 22 ++++++++++++++++++++++
 Mesa.spec              |  4 +++-
 2 files changed, 25 insertions(+), 1 deletion(-)
---
diff --git a/Mesa.spec b/Mesa.spec
index c0c8565..bec3e4a 100644
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -60,13 +60,14 @@ Summary:	Free OpenGL implementation
 Summary(pl.UTF-8):	Wolnodostępna implementacja standardu OpenGL
 Name:		Mesa
 Version:	18.1.2
-Release:	1
+Release:	2
 License:	MIT (core) and others - see license.html file
 Group:		X11/Libraries
 Source0:	ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz
 # Source0-md5:	a2d4f031eb6bd6111d44d84004476918
 Patch0:		%{name}-link.patch
 Patch1:		glvnd-fix-gl-dot-pc.patch
+Patch2:		%{name}-munmap_null.patch
 URL:		http://www.mesa3d.org/
 BuildRequires:	autoconf >= 2.60
 BuildRequires:	automake
@@ -1268,6 +1269,7 @@ radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD.
 %if %{with glvnd}
 %patch1 -p1
 %endif
+%patch2 -p1
 
 %build
 %{__libtoolize}
diff --git a/Mesa-munmap_null.patch b/Mesa-munmap_null.patch
new file mode 100644
index 0000000..c8e37ce
--- /dev/null
+++ b/Mesa-munmap_null.patch
@@ -0,0 +1,22 @@
+diff -urN mesa-18.1.2.orig/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c mesa-18.1.2/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c
+--- mesa-18.1.2.orig/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c	2018-07-04 12:45:31.057803594 +0200
++++ mesa-18.1.2/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c	2018-07-04 12:47:02.030220461 +0200
+@@ -368,10 +368,14 @@
+    DEBUG_PRINT("KMS-DEBUG: unmapped buffer %u (was %p)\n", kms_sw_dt->handle, kms_sw_dt->mapped);
+    DEBUG_PRINT("KMS-DEBUG: unmapped buffer %u (was %p)\n", kms_sw_dt->handle, kms_sw_dt->ro_mapped);
+ 
+-   munmap(kms_sw_dt->mapped, kms_sw_dt->size);
+-   kms_sw_dt->mapped = NULL;
+-   munmap(kms_sw_dt->ro_mapped, kms_sw_dt->size);
+-   kms_sw_dt->ro_mapped = NULL;
++   if (kms_sw_dt->mapped != NULL) {
++      munmap(kms_sw_dt->mapped, kms_sw_dt->size);
++      kms_sw_dt->mapped = NULL;
++   }
++   if (kms_sw_dt->ro_mapped != NULL) {
++      munmap(kms_sw_dt->ro_mapped, kms_sw_dt->size);
++      kms_sw_dt->ro_mapped = NULL;
++   }
+ }
+ 
+ static struct sw_displaytarget *
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Mesa.git/commitdiff/4e00c32bcc43a6fcd88b0e1ae509afa66aa69b88



More information about the pld-cvs-commit mailing list