[Intel-gfx] [PATCH] intel: don't crash when freeing an uninitialized screen
Chris Wilson
chris at chris-wilson.co.uk
Tue Mar 12 21:22:17 CET 2013
On Tue, Mar 12, 2013 at 12:45:58PM -0700, Aaron Plattner wrote:
> When intel_scrn_create creates a screen, it sets scrn->driverPrivate to
> (void *)(match_data | 1). Normally, this is read by I830PreInit and then
> replaced with a pointer to the intel_screen_private structure. However, it's
> possible for the server to delete the screen before initializing it, which leads
> to a crash in I830FreeScreen when it tries to interpret the unaligned match_data
> pointer as a pointer to a intel_screen_private.
>
> Fix this by checking the low bit of the pointer and skipping the teardown code
> if it's set.
>
> Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
Thanks, I had forgotten all about that path. Pushed,
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list