Mesa (master): surfaceless: Fix swrast-path segfault when loader doesn't know driver name.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 13 17:51:13 UTC 2019


Module: Mesa
Branch: master
Commit: 86ae3c218662a302a96003010f331ac3d3153147
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86ae3c218662a302a96003010f331ac3d3153147

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jul 29 16:25:56 2019 -0700

surfaceless: Fix swrast-path segfault when loader doesn't know driver name.

If we're hitting the swrast fallback path here, it's probably because
we stumbled across a KMS-only device (such as the ASpeed that some of
our CI runners have) that will then return a NULL driver_name.  Don't
crash in that case.

Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>

---

 src/egl/drivers/dri2/platform_surfaceless.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c
index 210f8188b96..8eeb2d4ed43 100644
--- a/src/egl/drivers/dri2/platform_surfaceless.c
+++ b/src/egl/drivers/dri2/platform_surfaceless.c
@@ -294,8 +294,9 @@ surfaceless_probe_device(_EGLDisplay *disp, bool swrast)
           * are unavailable since 6c5ab, and kms_swrast is more
           * feature complete than swrast.
           */
-         if (strcmp(driver_name, "vgem") == 0 ||
-             strcmp(driver_name, "virtio_gpu") == 0)
+         if (driver_name &&
+             (strcmp(driver_name, "vgem") == 0 ||
+              strcmp(driver_name, "virtio_gpu") == 0))
             dri2_dpy->driver_name = strdup("kms_swrast");
          free(driver_name);
       } else {




More information about the mesa-commit mailing list