[arch-commits] Commit in libdrm/trunk (2 files)
Date: Tuesday, March 6, 2018 @ 18:46:40 Author: andyrtr Revision: 317919 upgpkg: libdrm 2.4.91-1 upstream update 2.4.91 Modified: libdrm/trunk/PKGBUILD Deleted: libdrm/trunk/fix_mistake_in_initial_hole_size_calculation.diff ---+ PKGBUILD | 13 +- fix_mistake_in_initial_hole_size_calculation.diff | 39 2 files changed, 3 insertions(+), 49 deletions(-) Modified: PKGBUILD === --- PKGBUILD2018-03-06 16:49:49 UTC (rev 317918) +++ PKGBUILD2018-03-06 18:46:40 UTC (rev 317919) @@ -2,8 +2,8 @@ # Maintainer: Jan de Grootpkgname=libdrm -pkgver=2.4.90 -pkgrel=3 +pkgver=2.4.91 +pkgrel=1 pkgdesc="Userspace interface to kernel DRM services" url="https://dri.freedesktop.org/; arch=(x86_64) @@ -14,12 +14,10 @@ replaces=('libdrm-new' 'libdrm-nouveau') source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} no-drmdevice-test.diff -fix_mistake_in_initial_hole_size_calculation.diff COPYING) -sha512sums=('3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c' +sha512sums=('07578c00c121ba37033db7172590e26d1545f81c242bbce2cfb7fb904bde504822c275d6468e5c5d20360d0046ae73d9b058aa0459ba35eb11927141cc998772' 'SKIP' 'f1dd5d8c2270c092ccb8e4f92a0da9ab27706dfa22dcedd3fb2414b968ced9333c8bf62baf0219b822e43dce0d804d1dd5cc27d09b0afe8c01967c1784d4a4bb' - '679ba7ef4f29cc4d511d5fbb7b505d8eade4cd3fc16eceaed2d1aa47947ebf31bac113ead5f2a1db8f5626ba290e9e1ffeab28c2abb924d0c85efe816c1201f8' 'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660') validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau @@ -37,13 +35,8 @@ prepare() { cd $pkgname-$pkgver - # Fix version - sed -i 's/2\.4\.89/2.4.90/' meson.build - # Fails in a container; autotools skipped this one already patch -Np1 -i ../no-drmdevice-test.diff - # FS#57576; fix amdgpu cards - patch -Np1 -i ../fix_mistake_in_initial_hole_size_calculation.diff } build() { Deleted: fix_mistake_in_initial_hole_size_calculation.diff === --- fix_mistake_in_initial_hole_size_calculation.diff 2018-03-06 16:49:49 UTC (rev 317918) +++ fix_mistake_in_initial_hole_size_calculation.diff 2018-03-06 18:46:40 UTC (rev 317919) @@ -1,39 +0,0 @@ -From 33a2851ab9bc3cd8a68bedf4cf0fdc549b0f3596 Mon Sep 17 00:00:00 2001 -From: Andrey Grodzovsky -Date: Mon, 19 Feb 2018 02:18:36 -0500 -Subject: amdgpu: Fix mistake in initial hole size calculation. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Andrey Grodzovsky -Acked-by: Christian König - amdgpu/amdgpu_vamgr.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c -index 722067f..5840042 100644 a/amdgpu/amdgpu_vamgr.c -+++ b/amdgpu/amdgpu_vamgr.c -@@ -57,7 +57,7 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start, - pthread_mutex_init(>bo_va_mutex, NULL); - pthread_mutex_lock(>bo_va_mutex); - n = calloc(1, sizeof(struct amdgpu_bo_va_hole)); -- n->size = mgr->va_max; -+ n->size = mgr->va_max - start; - n->offset = start; - list_add(>list, >va_holes); - pthread_mutex_unlock(>bo_va_mutex); -@@ -80,6 +80,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, - struct amdgpu_bo_va_hole *hole, *n; - uint64_t offset = 0, waste = 0; - -+ - alignment = MAX2(alignment, mgr->va_alignment); - size = ALIGN(size, mgr->va_alignment); - --- -cgit v1.1 - -
[arch-commits] Commit in libdrm/trunk (2 files)
Date: Tuesday, February 20, 2018 @ 16:31:19 Author: andyrtr Revision: 317292 upgpkg: libdrm 2.4.90-3 fix amdgpu cards - FS#57576 Added: libdrm/trunk/fix_mistake_in_initial_hole_size_calculation.diff Modified: libdrm/trunk/PKGBUILD ---+ PKGBUILD |9 +++- fix_mistake_in_initial_hole_size_calculation.diff | 39 2 files changed, 46 insertions(+), 2 deletions(-) Modified: PKGBUILD === --- PKGBUILD2018-02-20 14:50:09 UTC (rev 317291) +++ PKGBUILD2018-02-20 16:31:19 UTC (rev 317292) @@ -3,7 +3,7 @@ pkgname=libdrm pkgver=2.4.90 -pkgrel=2 +pkgrel=3 pkgdesc="Userspace interface to kernel DRM services" url="https://dri.freedesktop.org/; arch=(x86_64) @@ -13,10 +13,13 @@ checkdepends=('cairo') replaces=('libdrm-new' 'libdrm-nouveau') source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} -no-drmdevice-test.diff COPYING) +no-drmdevice-test.diff +fix_mistake_in_initial_hole_size_calculation.diff +COPYING) sha512sums=('3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c' 'SKIP' 'f1dd5d8c2270c092ccb8e4f92a0da9ab27706dfa22dcedd3fb2414b968ced9333c8bf62baf0219b822e43dce0d804d1dd5cc27d09b0afe8c01967c1784d4a4bb' + '679ba7ef4f29cc4d511d5fbb7b505d8eade4cd3fc16eceaed2d1aa47947ebf31bac113ead5f2a1db8f5626ba290e9e1ffeab28c2abb924d0c85efe816c1201f8' 'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660') validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorstvalidpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau @@ -39,6 +42,8 @@ # Fails in a container; autotools skipped this one already patch -Np1 -i ../no-drmdevice-test.diff + # FS#57576; fix amdgpu cards + patch -Np1 -i ../fix_mistake_in_initial_hole_size_calculation.diff } build() { Added: fix_mistake_in_initial_hole_size_calculation.diff === --- fix_mistake_in_initial_hole_size_calculation.diff (rev 0) +++ fix_mistake_in_initial_hole_size_calculation.diff 2018-02-20 16:31:19 UTC (rev 317292) @@ -0,0 +1,39 @@ +From 33a2851ab9bc3cd8a68bedf4cf0fdc549b0f3596 Mon Sep 17 00:00:00 2001 +From: Andrey Grodzovsky +Date: Mon, 19 Feb 2018 02:18:36 -0500 +Subject: amdgpu: Fix mistake in initial hole size calculation. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andrey Grodzovsky +Acked-by: Christian König +--- + amdgpu/amdgpu_vamgr.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c +index 722067f..5840042 100644 +--- a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c +@@ -57,7 +57,7 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start, + pthread_mutex_init(>bo_va_mutex, NULL); + pthread_mutex_lock(>bo_va_mutex); + n = calloc(1, sizeof(struct amdgpu_bo_va_hole)); +- n->size = mgr->va_max; ++ n->size = mgr->va_max - start; + n->offset = start; + list_add(>list, >va_holes); + pthread_mutex_unlock(>bo_va_mutex); +@@ -80,6 +80,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, + struct amdgpu_bo_va_hole *hole, *n; + uint64_t offset = 0, waste = 0; + ++ + alignment = MAX2(alignment, mgr->va_alignment); + size = ALIGN(size, mgr->va_alignment); + +-- +cgit v1.1 + +
[arch-commits] Commit in libdrm/trunk (2 files)
Date: Thursday, May 7, 2015 @ 13:29:58 Author: lcarlier Revision: 238588 upgpkg: libdrm 2.4.61-1 upstream update 2.4.61 Modified: libdrm/trunk/PKGBUILD Deleted: libdrm/trunk/0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch --+ 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch | 28 -- PKGBUILD | 19 ++ 2 files changed, 7 insertions(+), 40 deletions(-) Deleted: 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch === --- 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch 2015-05-07 11:00:44 UTC (rev 238587) +++ 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch 2015-05-07 11:29:58 UTC (rev 238588) @@ -1,28 +0,0 @@ -From 7d8f5e019505f5bda67ad8d2b25077eade90fbe8 Mon Sep 17 00:00:00 2001 -From: Connor Behan connor.be...@gmail.com -Date: Tue, 24 Mar 2015 13:47:26 -0400 -Subject: [PATCH] xf86drm: Fix ioctl struct clearing in drmAgpEnable - -This one is a bit harder to notice. - -Signed-off-by: Connor Behan connor.be...@gmail.com - xf86drm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xf86drm.c b/xf86drm.c -index e73cddd..ffc53b8 100644 a/xf86drm.c -+++ b/xf86drm.c -@@ -1719,7 +1719,7 @@ int drmAgpEnable(int fd, unsigned long mode) - { - drm_agp_mode_t m; - --memclear(mode); -+memclear(m); - m.mode = mode; - if (drmIoctl(fd, DRM_IOCTL_AGP_ENABLE, m)) - return -errno; --- -2.3.3 - Modified: PKGBUILD === --- PKGBUILD2015-05-07 11:00:44 UTC (rev 238587) +++ PKGBUILD2015-05-07 11:29:58 UTC (rev 238588) @@ -2,33 +2,28 @@ # Maintainer: Jan de Groot j...@archlinux.org pkgname=libdrm -pkgver=2.4.60 -pkgrel=2 +pkgver=2.4.61 +pkgrel=1 pkgdesc=Userspace interface to kernel DRM services arch=(i686 x86_64) license=('custom') depends=('glibc' 'libpciaccess') -makedepends=('valgrind') +makedepends=('valgrind' 'xorg-util-macros') checkdepends=('cairo') replaces=('libdrm-new' 'libdrm-nouveau') url=http://dri.freedesktop.org/; source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} -COPYING -0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch) -sha256sums=('99575fc6c8e31f59193f5320fd4db7a5478e2641b5266147caab9aa875b59889' +COPYING) +sha256sums=('8b549092c8961a393a7e1d9a1bccddcea8e2af67c0d7d7c67babb9fc3b47699c' 'SKIP' -'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93' -'b9a4e77e50a0c11fbdf95b277fe4a6943eba3a63b5b90c548cbc5159db1d32f3') +'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93') validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst maarten.lankho...@canonical.com validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau damien.lesp...@intel.com +validpgpkeys+=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # David Airlie airl...@redhat.com prepare() { cd $pkgname-$pkgver - # fix permission issue on r128 cards, pushed by Connor Behan - # tested by Tobias Powalowski - patch -Np1 -i ${srcdir}/0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch - # pthread is useless in Linux sed -i /pthread-stubs/d configure.ac autoreconf --force --install
[arch-commits] Commit in libdrm/trunk (2 files)
Date: Thursday, March 26, 2015 @ 08:48:39 Author: tpowa Revision: 234952 upgpkg: libdrm 2.4.60-2 fix permission issues on r128 cards Added: libdrm/trunk/0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch Modified: libdrm/trunk/PKGBUILD --+ 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch | 28 ++ PKGBUILD | 19 +- 2 files changed, 42 insertions(+), 5 deletions(-) Added: 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch === --- 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch (rev 0) +++ 0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch 2015-03-26 07:48:39 UTC (rev 234952) @@ -0,0 +1,28 @@ +From 7d8f5e019505f5bda67ad8d2b25077eade90fbe8 Mon Sep 17 00:00:00 2001 +From: Connor Behan connor.be...@gmail.com +Date: Tue, 24 Mar 2015 13:47:26 -0400 +Subject: [PATCH] xf86drm: Fix ioctl struct clearing in drmAgpEnable + +This one is a bit harder to notice. + +Signed-off-by: Connor Behan connor.be...@gmail.com +--- + xf86drm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xf86drm.c b/xf86drm.c +index e73cddd..ffc53b8 100644 +--- a/xf86drm.c b/xf86drm.c +@@ -1719,7 +1719,7 @@ int drmAgpEnable(int fd, unsigned long mode) + { + drm_agp_mode_t m; + +-memclear(mode); ++memclear(m); + m.mode = mode; + if (drmIoctl(fd, DRM_IOCTL_AGP_ENABLE, m)) + return -errno; +-- +2.3.3 + Modified: PKGBUILD === --- PKGBUILD2015-03-26 07:44:40 UTC (rev 234951) +++ PKGBUILD2015-03-26 07:48:39 UTC (rev 234952) @@ -3,7 +3,7 @@ pkgname=libdrm pkgver=2.4.60 -pkgrel=1 +pkgrel=2 pkgdesc=Userspace interface to kernel DRM services arch=(i686 x86_64) license=('custom') @@ -13,20 +13,29 @@ replaces=('libdrm-new' 'libdrm-nouveau') url=http://dri.freedesktop.org/; source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} -COPYING) +COPYING +0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch) sha256sums=('99575fc6c8e31f59193f5320fd4db7a5478e2641b5266147caab9aa875b59889' 'SKIP' -'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93') +'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93' +'b9a4e77e50a0c11fbdf95b277fe4a6943eba3a63b5b90c548cbc5159db1d32f3') validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst maarten.lankho...@canonical.com validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau damien.lesp...@intel.com -build() { +prepare() { cd $pkgname-$pkgver + + # fix permission issue on r128 cards, pushed by Connor Behan + # tested by Tobias Powalowski + patch -Np1 -i ${srcdir}/0001-xf86drm-Fix-ioctl-struct-clearing-in-drmAgpEnable.patch # pthread is useless in Linux sed -i /pthread-stubs/d configure.ac autoreconf --force --install - + +} +build() { + cd $pkgname-$pkgver ./configure --prefix=/usr --enable-udev make }
[arch-commits] Commit in libdrm/trunk (2 files)
Date: Wednesday, May 26, 2010 @ 14:45:58 Author: jgc Revision: 81114 Update to git (up to fcf3e616eeeb2) Modified: libdrm/trunk/PKGBUILD Deleted: libdrm/trunk/intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch --+ PKGBUILD | 8 - intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch | 55 -- 2 files changed, 4 insertions(+), 59 deletions(-) Modified: PKGBUILD === --- PKGBUILD2010-05-26 18:21:58 UTC (rev 81113) +++ PKGBUILD2010-05-26 18:45:58 UTC (rev 81114) @@ -3,7 +3,7 @@ pkgname=libdrm pkgver=2.4.20 -pkgrel=2 +pkgrel=3 pkgdesc=Userspace interface to kernel DRM services arch=(i686 x86_64) license=('custom') @@ -13,16 +13,16 @@ source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2 no-pthread-stubs.patch COPYING - intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch) +git-fixes.patch) md5sums=('3c56e03172b236e14905ef9a68ba2f97' '9b5ec3bbebe86921e2057694c42f65b8' 'ba65e71c481b94ef0fb6c23c7f21ffa1' - '2dd7d84d3ebbc23c92b602104fae5df3') + '6a2cf84d7f7a423b5238e2c465312cd3') build() { cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i ${srcdir}/git-fixes.patch || return 1 patch -Np1 -i ${srcdir}/no-pthread-stubs.patch || return 1 - patch -p1 -i ${srcdir}/intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch || return 1 libtoolize --force || return 1 aclocal || return 1 autoconf || return 1 Deleted: intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch === --- intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch 2010-05-26 18:21:58 UTC (rev 81113) +++ intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch 2010-05-26 18:45:58 UTC (rev 81114) @@ -1,55 +0,0 @@ -From 3506173ba7e726a9d0a17ec42734a925a885b01e Mon Sep 17 00:00:00 2001 -From: Chris Wilson ch...@chris-wilson.co.uk -Date: Sun, 11 Apr 2010 17:40:38 + -Subject: intel: Use the correct size when allocating reloc_target_info array - -Thomas tracked down this error with kdm and commit b509640: - -==4320== Invalid write of size 8 -==4320==at 0x9A97998: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) -==4320==by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) -==4320==by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF13827: brw_emit_vertices (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xB256824: vbo_exec_vtx_flush (in /usr/lib/xorg/modules/dri/libdricore.so) -==4320==by 0xB2523BB: vbo_exec_FlushVertices_internal (in /usr/lib/xorg/modules/dri/libdricore.so) -==4320==by 0xB252411: vbo_exec_FlushVertices (in /usr/lib/xorg/modules/dri/libdricore.so) -==4320==by 0xB195A3D: _mesa_PopAttrib (in /usr/lib/xorg/modules/dri/libdricore.so) -==4320==by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) -==4320==by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) -==4320== Address 0x126a8b80 is 0 bytes after a block of size 16,368 alloc'd -==4320==at 0x4C23E03: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) -==4320==by 0x9A97A64: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) -==4320==by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) -==4320==by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF191DB: upload_binding_table_pointers (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) -==4320==by 0xB255EF6: vbo_exec_DrawArrays (in /usr/lib/xorg/modules/dri/libdricore.so) -==4320==by 0x8DF67A3: __glXDisp_DrawArrays (in /usr/lib/xorg/modules/extensions/libglx.xorg) -==4320==by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) -==4320==by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) -==4320==by 0x446293: ??? (in /usr/bin/Xorg) - -which is simply due to only allocating space for the pointers and not -the structs themselves. D'oh. - -Reported-by: Thomas Bächler tho...@archlinux.org -Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk -diff --git a/intel/intel_bufmgr_gem.c
[arch-commits] Commit in libdrm/trunk (2 files)
Date: Sunday, April 11, 2010 @ 16:38:18 Author: thomas Revision: 77296 Update libdrm: Fix a bug where intel drm crashes the X server due to memory corruption Added: libdrm/trunk/intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch Modified: libdrm/trunk/PKGBUILD --+ PKGBUILD | 9 + intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch | 55 ++ 2 files changed, 61 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2010-04-11 20:32:35 UTC (rev 77295) +++ PKGBUILD2010-04-11 20:38:18 UTC (rev 77296) @@ -3,7 +3,7 @@ pkgname=libdrm pkgver=2.4.20 -pkgrel=1 +pkgrel=2 pkgdesc=Userspace interface to kernel DRM services arch=(i686 x86_64) license=('custom') @@ -12,14 +12,17 @@ url=http://dri.freedesktop.org/; source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2 no-pthread-stubs.patch -COPYING) +COPYING + intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch) md5sums=('3c56e03172b236e14905ef9a68ba2f97' '9b5ec3bbebe86921e2057694c42f65b8' - 'ba65e71c481b94ef0fb6c23c7f21ffa1') + 'ba65e71c481b94ef0fb6c23c7f21ffa1' + '2dd7d84d3ebbc23c92b602104fae5df3') build() { cd ${srcdir}/${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/no-pthread-stubs.patch || return 1 + patch -p1 -i ${srcdir}/intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch || return 1 libtoolize --force || return 1 aclocal || return 1 autoconf || return 1 Added: intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch === --- intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch (rev 0) +++ intel-use-the-correct-size-when-allocating-reloc_target_info-array.patch 2010-04-11 20:38:18 UTC (rev 77296) @@ -0,0 +1,55 @@ +From 3506173ba7e726a9d0a17ec42734a925a885b01e Mon Sep 17 00:00:00 2001 +From: Chris Wilson ch...@chris-wilson.co.uk +Date: Sun, 11 Apr 2010 17:40:38 + +Subject: intel: Use the correct size when allocating reloc_target_info array + +Thomas tracked down this error with kdm and commit b509640: + +==4320== Invalid write of size 8 +==4320==at 0x9A97998: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) +==4320==by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) +==4320==by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF13827: brw_emit_vertices (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xB256824: vbo_exec_vtx_flush (in /usr/lib/xorg/modules/dri/libdricore.so) +==4320==by 0xB2523BB: vbo_exec_FlushVertices_internal (in /usr/lib/xorg/modules/dri/libdricore.so) +==4320==by 0xB252411: vbo_exec_FlushVertices (in /usr/lib/xorg/modules/dri/libdricore.so) +==4320==by 0xB195A3D: _mesa_PopAttrib (in /usr/lib/xorg/modules/dri/libdricore.so) +==4320==by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) +==4320==by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) +==4320== Address 0x126a8b80 is 0 bytes after a block of size 16,368 alloc'd +==4320==at 0x4C23E03: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4320==by 0x9A97A64: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) +==4320==by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) +==4320==by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF191DB: upload_binding_table_pointers (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) +==4320==by 0xB255EF6: vbo_exec_DrawArrays (in /usr/lib/xorg/modules/dri/libdricore.so) +==4320==by 0x8DF67A3: __glXDisp_DrawArrays (in /usr/lib/xorg/modules/extensions/libglx.xorg) +==4320==by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) +==4320==by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) +==4320==by 0x446293: ??? (in /usr/bin/Xorg) + +which is simply due to only allocating space for the pointers and not +the structs themselves. D'oh. + +Reported-by: Thomas Bächler tho...@archlinux.org +Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk +--- +diff --git