Bug#341351: Ati driver crashes when hw acceleration is disabled
Package: xserver-xorg
Version: 6.8.2.dfsg.1-11
Severity: normal
Tags: patch
A bug into one of ati driver's sources (radeon_video.c) causes Xorg server to
crash when using it with option "NoAccel", due to erroneous dereferencing of
uninitialized pointer.
The bug should be reproducible by anyone using "ati" driver:
1 - add 'Option "NoAccel"' to the device section of video card into xorg.conf
2 - restart Xorg
3 - launch any video player (I have personally tested it with totem, xine and
mplayer -- the latter using xv output, x11 doesn't crash the server)
I'm sure that many other programs are able to trigger this bug, but playing a
video is the one by which I've discovered the problem.
I'm attaching a patch that modifies the single line of code involved and that
solves the problem.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-r4
Locale: LANG=it_IT@euro, LC_CTYPE=it_IT@euro (charmap=ISO-8859-15) (ignored: LC_ALL set to it_IT@euro)
Versions of packages xserver-xorg depends on:
ii debconf [debconf-2.0] 1.4.59 Debian configuration management sy
ii libc6 2.3.5-8.1 GNU C Library: Shared libraries an
ii libgcc1 1:4.0.2-4 GCC support library
ii libxau6 6.8.2.dfsg.1-11 X Authentication library
ii libxdmcp6 6.8.2.dfsg.1-11 X Display Manager Control Protocol
ii xserver-common 6.8.2.dfsg.1-11 files and utilities common to all
ii zlib1g 1:1.2.3-8 compression library - runtime
Versions of packages xserver-xorg recommends:
pn discover | discover1 <none> (no description available)
pn laptop-detect <none> (no description available)
pn mdetect <none> (no description available)
ii xlibs 6.8.2.dfsg.1-11 X Window System client libraries m
pn xresprobe <none> (no description available)
-- debconf information excluded
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c.orig 2005-10-16 15:58:58.000000000 +0200
+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c 2005-10-16 15:59:34.000000000 +0200
@@ -993,7 +993,7 @@
RADEONPortPrivPtr pPriv = (RADEONPortPrivPtr)data;
Bool setTransform = FALSE;
- info->accel->Sync(pScrn);
+ if (info->accelOn) info->accel->Sync(pScrn);
#define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0)
#define RTFBrightness(a) (((a)*1.0)/2000.0)
Reply to: