[Intel-gfx] bufmgr corruption

Kristian Høgsberg krh at bitplanet.net
Fri Mar 6 22:25:53 CET 2009


2009/3/6 Lukas Hejtmanek <xhejtman at ics.muni.cz>:
> Hello,
>
> while hunting the bugs, I discovered several things related to the bufmgr.
>
>
> I830DrmModeInit called from PreInit calls i830_init_bufmgr
> However, i830_init_bufmgr is called also from I830ScreenInit.
>
> In result, the i830_init_bufmgr is called twice without being freed in
> between.

That's not a problem, there's a check to see if it's already
initialized and return if it is:

   if (pI830->bufmgr)
       return;

> The function I830CloseScreen calls dri_bufmgr_destroy which frees the bufmgr.
> However, *after* this call, calls to i830_uxa_destroy_pixmap are still made
> (from FreeResources call of the Xserver) which result in bad things
> (segfaults, memory corruption and so on).

Hmm, so should we move the dri_bufmgr_destroy() call to after the
(*pScreen->CloseScreen)() call?

Kristian



More information about the Intel-gfx mailing list