Aaron Plattner <[email protected]> writes:

> The modesetting driver corrupts memory when used after a server regeneration
> because not enough memory is allocated for its pixmap privates.  This happens
> because its call to dixRegisterScreenSpecificPrivateKey() does nothing because
> key->initialized is still TRUE from the first server generation.  However, the
> key is not in the screen's linked list of screen-specific privates because
> that's freed and reallocated during the server generation loop in dix_main().
>
> Fix this by clearing key->initialized before CloseScreen and add a call to
> dixFreeScreenSpecificPrivates() for GPU screens.
>
> v2: Just set key->initialized to FALSE and move 
> dixFreeScreenSpecificPrivates()
> calls to after CloseScreen.
>
> v3: Move dixFreeScreenSpecificPrivates() calls back to just before 
> CloseScreen.
>
> Signed-off-by: Aaron Plattner <[email protected]>

Reviewed-by: Keith Packard <[email protected]>

-- 
-keith

Attachment: signature.asc
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to