[PATCH xserver] glamor: restore vfunc handlers on init failure

Eric Anholt eric at anholt.net
Mon Nov 7 16:34:37 UTC 2016


Olivier Fourdan <ofourdan at redhat.com> writes:

> In glamor_init(), if the minimum requirements are not met, glamor may
> fail after setting up its own CloseScreen() and DestroyPixmap()
> routines, leading to a crash when either of the two routines is called
> if glamor failed to complete its initialization, e.g:
>
>   (EE) Backtrace:
>   (EE) 0:  Xwayland (OsSigHandler+0x29)
>   (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0)
>   (EE) 2: Xwayland (glamor_sync_close+0x2a)
>   (EE) 3: Xwayland (glamor_close_screen+0x52)
>   (EE) 4: Xwayland (CursorCloseScreen+0x88)
>   (EE) 5: Xwayland (AnimCurCloseScreen+0xa4)
>   (EE) 6: Xwayland (present_close_screen+0x42)
>   (EE) 7: Xwayland (dix_main+0x4f9)
>   (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf1)
>   (EE) 9:  Xwayland (_start+0x2a)
>
> Restore the previous CloseScreen() and DestroyPixmap() vfunc handlers in
> case of failure when checking for the minimum requirements, so that if
> any of the requirement is not met we don't leave the CloseScreen() and
> DestroyPixmap() from glamor handlers in place.
>
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1390018

Reviewed-by: Eric Anholt <eric at anholt.net>

Keith, can we fit it in during the freeze?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20161107/17656aa0/attachment.sig>


More information about the xorg-devel mailing list