Re: hardening breaks X.org

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2015-03-19 at 11:36 +0100, Florian Weimer wrote:
> On 03/02/2015 02:16 AM, David Airlie wrote:
> > So the rebuild to use hardened builds by default in rawhide, broke X.org.
> > 
> > Thanks guys, my system is more secure, but I can't run any apps.
> > 
> > Anyways enough snark from me, the problem seems to be that hardening
> > makes bind now override RTLD_LAZY options, and the X server relies
> > on the RTLD_LAZY on its drivers being lazy.
> 
> Why is that?
> 
> (I'm just collecting corner cases for ld.so oddities.)

Historical accident that's always been too invasive of a change to
bother fixing.  In XFree86's driver model (which, it should be
remembered, used to reimplement its own libdl, badly) drivers request
that various subsystems they need loaded, but then call functions in
those loaded modules by name (as opposed to dlsym'ing for everything
they need).  So your driver ends up with a bunch of stuff like:

dmt:~% nm -aDu /usr/lib64/xorg/**/intel_drv.so | grep ' U fb' | head -10
                 U fb24_32ReformatTile
                 U fbAddTraps
                 U fbBltStip
                 U fbChangeWindowAttributes
                 U fbComposite
                 U fbCopyArea
                 U fbCopyNtoN
                 U fbCopyPlane
                 U fbCreateGC
                 U fbCreatePixmap

Those are provided by libfb, which intel itself loads by calling
LoadModule() in its setup callback.  So if you set -z now on
intel_drv.so, libfb isn't loaded yet, and things go boom.

- ajax

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux