[beignet] 02/03: Fix another crash on unsupported hardware (#779213)
Rebecca Palmer
rnpalmer-guest at moszumanska.debian.org
Thu Feb 26 16:37:39 UTC 2015
This is an automated email from the git hooks/post-receive script.
rnpalmer-guest pushed a commit to branch master
in repository beignet.
commit 01a475960aa4d50d0bd85f6aac257f1c6904eced
Author: Rebecca N. Palmer <rebecca_palmer at zoho.com>
Date: Thu Feb 26 14:44:40 2015 +0000
Fix another crash on unsupported hardware (#779213)
---
debian/changelog | 2 +-
debian/patches/fixcrash-779213.patch | 116 +++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 118 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index d5af6de..dd42120 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
beignet (1.0.1-3) UNRELEASED; urgency=medium
- * Fix crash on unsupported hardware.
+ * Fix two crashes on unsupported hardware. (Closes: #779213)
-- Rebecca N. Palmer <rebecca_palmer at zoho.com> Thu, 26 Feb 2015 14:39:00 +0000
diff --git a/debian/patches/fixcrash-779213.patch b/debian/patches/fixcrash-779213.patch
new file mode 100644
index 0000000..cb23aef
--- /dev/null
+++ b/debian/patches/fixcrash-779213.patch
@@ -0,0 +1,116 @@
+Description: fix crash on unsupported hardware
+
+Author: Rebecca Palmer <rebecca_palmer at zoho.com>
+Bug-Debian: https://bugs.debian.org/779213
+diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c
+index 21546d9..e6878b3 100644
+--- a/src/intel/intel_driver.c
++++ b/src/intel/intel_driver.c
+@@ -124,14 +124,15 @@ intel_driver_aub_dump(intel_driver_t *driver)
+ }
+ }
+
+-static void
++static int
+ intel_driver_memman_init(intel_driver_t *driver)
+ {
+ driver->bufmgr = drm_intel_bufmgr_gem_init(driver->fd, BATCH_SIZE);
+- assert(driver->bufmgr);
++ if(!driver->bufmgr) return 0;
+ drm_intel_bufmgr_gem_enable_reuse(driver->bufmgr);
+ driver->device_id = drm_intel_bufmgr_gem_get_devid(driver->bufmgr);
+ intel_driver_aub_dump(driver);
++ return 1;
+ }
+
+ static void
+@@ -149,14 +150,14 @@ intel_driver_context_destroy(intel_driver_t *driver)
+ driver->ctx = NULL;
+ }
+
+-static void
++static int
+ intel_driver_init(intel_driver_t *driver, int dev_fd)
+ {
+ driver->fd = dev_fd;
+ driver->locked = 0;
+ pthread_mutex_init(&driver->ctxmutex, NULL);
+
+- intel_driver_memman_init(driver);
++ if(!intel_driver_memman_init(driver)) return 0;
+ intel_driver_context_init(driver);
+
+ #if EMULATE_GEN
+@@ -183,6 +184,7 @@ intel_driver_init(intel_driver_t *driver, int dev_fd)
+ else
+ driver->gen_ver = 4;
+ #endif /* EMULATE_GEN */
++ return 1;
+ }
+
+ static cl_int
+@@ -271,19 +273,20 @@ intel_driver_is_active(intel_driver_t *driver) {
+ LOCAL int
+ intel_driver_init_shared(intel_driver_t *driver, dri_state_t *state)
+ {
++ int ret;
+ assert(state);
+ if(state->driConnectedFlag != DRI2)
+ return 0;
+- intel_driver_init(driver, state->fd);
++ ret = intel_driver_init(driver, state->fd);
+ driver->need_close = 0;
+- return 1;
++ return ret;
+ }
+ #endif
+
+ LOCAL int
+ intel_driver_init_master(intel_driver_t *driver, const char* dev_name)
+ {
+- int dev_fd;
++ int dev_fd, ret;
+
+ drm_client_t client;
+
+@@ -296,7 +299,7 @@ intel_driver_init_master(intel_driver_t *driver, const char* dev_name)
+
+ // Check that we're authenticated
+ memset(&client, 0, sizeof(drm_client_t));
+- int ret = ioctl(dev_fd, DRM_IOCTL_GET_CLIENT, &client);
++ ret = ioctl(dev_fd, DRM_IOCTL_GET_CLIENT, &client);
+ if (ret == -1) {
+ fprintf(stderr, "ioctl(dev_fd, DRM_IOCTL_GET_CLIENT, &client) failed: %s\n", strerror(errno));
+ close(dev_fd);
+@@ -309,26 +312,26 @@ intel_driver_init_master(intel_driver_t *driver, const char* dev_name)
+ return 0;
+ }
+
+- intel_driver_init(driver, dev_fd);
++ ret = intel_driver_init(driver, dev_fd);
+ driver->need_close = 1;
+
+- return 1;
++ return ret;
+ }
+
+ LOCAL int
+ intel_driver_init_render(intel_driver_t *driver, const char* dev_name)
+ {
+- int dev_fd;
++ int dev_fd, ret;
+
+ // usually dev_name = "/dev/dri/renderD%d"
+ dev_fd = open(dev_name, O_RDWR);
+ if (dev_fd == -1)
+ return 0;
+
+- intel_driver_init(driver, dev_fd);
++ ret = intel_driver_init(driver, dev_fd);
+ driver->need_close = 1;
+
+- return 1;
++ return ret;
+ }
+
+ LOCAL int
diff --git a/debian/patches/series b/debian/patches/series
index e34ec29..ef67592 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@ llvm-search-order.patch
remove-unsafe-define-D__-USER-__.patch
force-llvm-3.5.patch
fixcrash-24b2ad.patch
+fixcrash-779213.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opencl/beignet.git
More information about the Pkg-opencl-commits
mailing list