Mesa (staging/19.1): egl: fix deadlock in malloc error path

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 6 10:41:21 UTC 2019


Module: Mesa
Branch: staging/19.1
Commit: 5fcb149a461c3025d643df7aa0713b1d64ab0a6f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fcb149a461c3025d643df7aa0713b1d64ab0a6f

Author: Eric Engestrom <eric.engestrom at intel.com>
Date:   Mon Aug 26 15:29:49 2019 +0100

egl: fix deadlock in malloc error path

Fixes: cb0980e69aa921af7086 ("egl: move alloc & init out of _eglBuiltInDriver{DRI2,Haiku}")
Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
(cherry picked from commit 43d470404c47d86d1fab93d1345e09375bcf4fb6)
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
[Juan A. Suarez: resolve trivial conflicts]

Conflicts:
	src/egl/main/egldriver.c

---

 src/egl/main/egldriver.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c
index e294c8c5f7d..58d6044d813 100644
--- a/src/egl/main/egldriver.c
+++ b/src/egl/main/egldriver.c
@@ -56,8 +56,10 @@ _eglGetDriver(void)
 
    if (!_eglDriver) {
       _eglDriver = calloc(1, sizeof(*_eglDriver));
-      if (!_eglDriver)
+      if (!_eglDriver) {
+         mtx_unlock(&_eglModuleMutex);
          return NULL;
+      }
       _eglInitDriverFallbacks(_eglDriver);
       _eglInitDriver(_eglDriver);
    }




More information about the mesa-commit mailing list