i915 driver fails on i686 userspace + x86_64 kernel
Pavel Roskin
proski at gnu.org
Tue Oct 15 20:00:50 CEST 2013
Hi Chris,
It's almost certainly stack corruption. This "patch" fixes X for me.
The first DRM_IOCTL_MODE_GETCONNECTOR in sna_output_init() must be
overwriting the implied memory bounds.
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 28151ab..dac834f 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2588,6 +2588,7 @@ sna_output_init(ScrnInfoPtr scrn, struct sna_mode *mode, int num)
struct sna *sna = to_sna(scrn);
xf86OutputPtr output;
struct drm_mode_get_connector conn;
+ int enc_protect[16];
struct drm_mode_get_encoder enc;
struct drm_mode_modeinfo dummy;
struct sna_output *sna_output;
@@ -2600,6 +2601,7 @@ sna_output_init(ScrnInfoPtr scrn, struct sna_mode *mode, int num)
VG_CLEAR(conn);
VG_CLEAR(enc);
+ &enc_protect;
conn.connector_id = mode->kmode->connectors[num];
conn.count_props = 0;
--
Regards,
Pavel Roskin
More information about the dri-devel
mailing list