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