Index: linux-2.6.10/drivers/char/drm/drm_ioctl.c =================================================================== --- linux-2.6.10.orig/drivers/char/drm/drm_ioctl.c 2005-03-02 17:08:36.000000000 +0100 +++ linux-2.6.10/drivers/char/drm/drm_ioctl.c 2005-03-08 09:53:40.000000000 +0100 @@ -326,6 +326,14 @@ int drm_setversion(DRM_IOCTL_ARGS) DRM_COPY_FROM_USER_IOCTL(sv, argp, sizeof(sv)); + /* + * version.name etc need to be initialized to zero. + * If we don't, driver->version() will poke random strings to + * random locations in user space, causing X server segfaults + * that are interesting to debug. --eich + */ + memset(&version, 0, sizeof(version)); + dev->driver->version(&version); retv.drm_di_major = DRM_IF_MAJOR; retv.drm_di_minor = DRM_IF_MINOR;