Bug 1089244 - Xorg: Patch to trim non-Wayland drivers breaks when none are capable
Summary: Xorg: Patch to trim non-Wayland drivers breaks when none are capable
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-18 10:46 UTC by Daniel Stone
Modified: 2015-05-29 16:45 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-05-29 16:45:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
first patch - adjusted to eliminate out-of-bounds access and add early return (1.21 KB, patch)
2014-04-18 10:46 UTC, Daniel Stone
no flags Details | Diff
second patch - no functional changes, just adjusted for context (2.07 KB, patch)
2014-04-18 10:46 UTC, Daniel Stone
no flags Details | Diff

Description Daniel Stone 2014-04-18 10:46:03 UTC
Created attachment 887514 [details]
first patch - adjusted to eliminate out-of-bounds access and add early return

The patches in F20 and Rawhide both to trim Xorg DDX drivers which aren't capable of Wayland support are broken when none of the drivers are Wayland-capable, in that it walks off the end of the driver list, and then continues through init with no drivers.

I've attached updated patches for the Rawhide package which resolve this by both fixing the out-of-bounds access, and return early when all drivers have been trimmed.  This changes the failure mode from Xorg crashing, to a graceful exit with an indication that all drivers have been pruned due to constraints.

With Rawhide packages, this gives me working XWayland (and will presumably be resolved anyway by switching to the XWayland DDX), but should also do the trick for F20.  The latter would need xf86-video-intel and friends rebuilt to include XWayland support, though.

Comment 1 Daniel Stone 2014-04-18 10:46:45 UTC
Created attachment 887515 [details]
second patch - no functional changes, just adjusted for context

Comment 2 Daniel Stone 2014-04-18 10:47:48 UTC
FWIW, I am running the GNOME 3.12 COPR on F20, with xorg-x11-server, xf86-video-intel, and xf86-input-{evdev,synaptics} from Rawhide, where these now work fine.

Comment 3 Hans de Goede 2014-04-18 14:34:51 UTC
Hi Daniel,

Thanks for working on this. For rawhide I'm preparing a rebase of xorg to 1.15.99.902, fedora pkgs git already has the new spec file (but I'm not ready to build it yet as I also need to rebase all drivers first). It would be great if you could build that, ie do:

fedpkg clone -B xorg-x11-server
cd xorg-x11-server/master
fedpkg local

And then install the new xorg-x11-server-Xwayland package and give that a try.

I don't know what the plans wrt xwayland are for f20.

Regards,

Hans

Comment 4 Daniel Stone 2014-04-18 14:41:18 UTC
Thanks Hans. I don't really have much time at the moment, but will check this out when I can.

Comment 5 Daniel Stone 2014-04-18 15:24:26 UTC
Actually, now I think about it, there's not much point trying it out since the Mutter side of XWayland still has some pretty serious issues, and the offending code is totally gone with the XWayland DDX, as it doesn't have any drivers to load.

I've changed the version to F20 as this only affects that, however since xf86-video-intel and friends aren't built with XWayland support there anyway, it's probably not really the most useful target to be aiming at.

Comment 6 Fedora End Of Life 2015-05-29 11:36:53 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Daniel Stone 2015-05-29 16:45:56 UTC
Works perfectly fine with the XWayland DDX in F21.


Note You need to log in before you can comment on or make changes to this bug.