-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
surfman/drm: SEGV connector->modes & upscale limit
- SEGV on connection->modes: drmModeGetConnector returns a drmModeConnector object used to get the supported mode list. Should the connector be yanked, the object returned by libDRM will be updated by the kernel and the mode list will become NULL. Work-around this issue by using copies of the monitor modes. This is still not enough, since __find_mode* are not atomic functions, yanking the monitor while searching for an appropriate mode could still SEGV. This in practice seems very hard to repro. - Upscaling is limited to the highest supported resolution. Handle the check in __create_mode_for_framebuffer new helper. Typical symptoms would be drmModeSetCrtc() failing and the screen remaining black. Signed-off-by: Eric Chanudet <[email protected]> OXT-1653 (cherry picked from commit 2ddae49) Signed-off-by: Eric Chanudet <[email protected]>
- Loading branch information
Eric Chanudet
committed
Jul 25, 2019
1 parent
1189b08
commit 3a6c89c
Showing
1 changed file
with
52 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters