I can sometime trigger a seg in do_winsys_init at radeon_drm_winsys.c on my
HD4350
There seems to be a simple missing NULL check:
214 version = drmGetVersion(ws->fd);
215 if (version->version_major != 2 ||
216 version->version_minor < 3) {
All the other users of drmGetVersion do a NULL check, so I suggest adding:
if (!version) {
fprintf(stderr,"%s: drmGetVersion NULL - bad fd (%d)?\n", __FUNCTION__,
ws->fd);
return FALSE;
}
I believe this to be part of the reason for:
https://bugzilla.redhat.com/show_bug.cgi?id=993463
why drmGetVersion is failing is a different matter (probably a bad fd at that
point - but why?) , but at least the NULL check would stop the seg.
Dave