Re: Bug#605090: Linux 3.2 in wheezy
On Fri, 3 Feb 2012, Christoph Anton Mitterer <email@example.com> wrote:
> Wasn't it once the case with PaX that packages have to be compiled
> specially? Or some ELF headers added or so?
Some shared libraries have code which can't be run without an executable
stack, it's a small number of libraries that are written in assembler code.
We want to allow running them but don't want to give all programs permission
to execute code on the stack.
From memory the GR Security option for this was to flag the rare executables
that want an executable stack and are permitted to have it.
The solution devised by libc/gcc upstream was to have a special assembly
section in every shared object that doesn't require an executable stack and if
an executable only loads shared objects that don't require it then the
executable stack is disabled. Then we have SE Linux policy to prevent most
programs from having an executable stack which means that if they are tricked
into loading some of the rare libraries that need it then it doesn't do
The downside to the latter approach is that lots of shared objects which have
some assembler code needed to be patched.
The PaX approach involved less work.
My Main Blog http://etbe.coker.com.au/
My Documents Blog http://doc.coker.com.au/