[Mesa-dev] [PATCH 2/3] egl/platform/drm: Don't take display ownership until gbm is initialized
Adam Jackson
ajax at redhat.com
Wed May 3 15:57:44 UTC 2017
If the gbm_create_device() call here actually did fail, any subsequent
eglTerminate on the display would segfault.
Signed-off-by: Adam Jackson <ajax at redhat.com>
---
src/egl/drivers/dri2/platform_drm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c
index cf35ce8a1f..9431d95e0a 100644
--- a/src/egl/drivers/dri2/platform_drm.c
+++ b/src/egl/drivers/dri2/platform_drm.c
@@ -689,12 +689,12 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
fd = loader_open_device(buf);
if (fd < 0)
fd = loader_open_device("/dev/dri/card0");
- dri2_dpy->own_device = 1;
gbm = gbm_create_device(fd);
if (gbm == NULL) {
err = "DRI2: failed to create gbm device";
goto cleanup;
}
+ dri2_dpy->own_device = 1;
} else {
fd = fcntl(gbm_device_get_fd(gbm), F_DUPFD_CLOEXEC, 3);
if (fd < 0) {
--
2.12.2
More information about the mesa-dev
mailing list