libgdk-pixbuf2 executable stack bit

Bug #49250 reported by John Moser
2
Affects Status Importance Assigned to Milestone
gdk-pixbuf
Won't Fix
Low
gdk-pixbuf (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: libgdk-pixbuf2

libgdk-pixbuf2 has an executable stack:

bluefox@icebox:/tmp/x/gdkpixbuf/gdk-pixbuf-0.22.0$ scanelf -qeR /usr/lib/libgdk_pixbuf.so.2
RWX --- --- /usr/lib/libgdk_pixbuf.so.2

Removing this can be corrected in one of two ways:

A) Build without MMX by fixing debian/rules to pass "--disable-mmx" to ./configure (currently it does NOT)

B) Add to the end of the following source files:

 gdk-pixbuf/pixops/composite_line_22_4a4_mmx.S
 gdk-pixbuf/pixops/composite_line_color_22_4a4_mmx.S
 gdk-pixbuf/pixops/have_mmx.S
 gdk-pixbuf/pixops/scale_line_22_33_mmx.S

The following code block:

#ifdef __ELF__
.section .note.GNU-stack,"",%progbits
#endif

Either of these works fine. The second path may warrent a look at the assembly code to make sure it doesn't try to execute the stack; but in general, this doesn't happen. The output .o file simply lacks a .note.GNU-stack segment and to be "safe" gcc assumes an executable stack is necessary[1].

I am personally partial to removing assembly code anyway, so I prefer option (A).

Result of option (A):

bluefox@icebox:/tmp/x/gdkpixbuf/gdk-pixbuf-0.22.0$ scanelf -Rte debian/libgdk-pixbuf2/usr/lib/
 TYPE STK/REL/PTL TEXTREL FILE
ET_DYN RW- --- RW- - debian/libgdk-pixbuf2/usr/lib/libgdk_pixbuf.so.2.0.0
ET_DYN RW- --- RW- - debian/libgdk-pixbuf2/usr/lib/libgdk_pixbuf_xlib.so.2.0.0

Result of option (B):

bluefox@icebox:/tmp/x/gdkpixbuf/gdk-pixbuf-0.22.0$ scanelf -Rte debian/libgdk-pixbuf2/usr/lib/
 TYPE STK/REL/PTL TEXTREL FILE
ET_DYN RW- --- RW- - debian/libgdk-pixbuf2/usr/lib/libgdk_pixbuf.so.2.0.0
ET_DYN RW- --- RW- - debian/libgdk-pixbuf2/usr/lib/libgdk_pixbuf_xlib.so.2.0.0

Pick one.

[1] http://www.gentoo.org/proj/en/hardened/gnu-stack.xml

Revision history for this message
John Moser (nigelenki) wrote :

Oh yeah, I should mention, Option (B) should be sent upstream at some point. I haven't done this.

Changed in gdk-pixbuf:
status: Unknown → Rejected
Revision history for this message
Jérôme Guelfucci (jerome-guelfucci-deactivatedaccount) wrote :

Closed upstream so I close it here, feel free to reopen.

Changed in gdk-pixbuf:
status: Unconfirmed → Rejected
Changed in gdk-pixbuf:
status: Invalid → Won't Fix
Changed in gdk-pixbuf:
importance: Unknown → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.