CVS Update: xc (branch: trunk)
Thomas Winischhofer
thomas at winischhofer.net
Wed Oct 12 06:56:52 PDT 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Benjamin Herrenschmidt wrote:
> CVSROOT: /cvs/xorg
> Module name: xc
> Changes by: benh at gabe.freedesktop.org 05/10/11 16:11:37
>
> Log message:
> * programs/Xserver/hw/xfree86/exa/exa.h:
> * programs/Xserver/hw/xfree86/exa/exaoffscreen.c:
> (ExaOffscreenValidate), (exaOffscreenAlloc), (exaOffscreenFree),
> (exaOffscreenInit):
> Fix a couple of bugs in the offscreen allocator. One mostly harmless
> was causing our search loop for evictable blocks to possibly skip a
> good candiate, and another was the allocator would occasionally use
> area->offset as if it was the base of the pixmap, while for a pixmap
> that is not in available state, it is not. This caused some funny
> miscalculation leading to overlapping pixmaps and accesses beyond the
> end of the framebuffer. To make things cleared, I renamed save_offset
> to base_offset, made sure it's the one used everywhere in the
> allocator, and only align "offset" for the client at the end of
> exaOffscreenAlloc().
>
Yeah, right, except that exaOffscreenInit now allocates area without
clearing it, calculates
area->size = card.memorySize - area->offset
with an uninitialized area->offset and thereby writes arbitrary values
to area->size.
No, no, don't worry. I won't rant about obviously untested stuff in CVS :)
- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDTRYkzydIRAktyUcRAqzNAJ4sDcc2qe12+ccQhnj22687QaaFdwCfTOJK
kugUG3LZqwHB/01wRaApFIs=
=zPuv
-----END PGP SIGNATURE-----
More information about the xorg
mailing list