On 12.10.13 02:05, news wrote:> In the past, I've malloc'd memory, written machine instructions into it,> and called the function I built there. ...

> Now it was a year or three ago that this worked. Has Linux changed in> this respect? Is there something new I have to do to allocate executable> writable memory for this purpose?>> Or might there be something even weirder going on?>> -- hendrik>> [ Sounds like the NX bit. See http://en.wikipedia.org/wiki/NX_bit#Linux -John]

Hendrik,
this does not wonder me that it does not work anymore.
In 2003, I was working on the ARM-Linux kernel and I could see that more
and more the MMU protection bit get used principally to avoid the
possibility to misuse buffer-overflow.

But did you have a look on mmap()? (man mmap)
There is a flag PROT_EXEC. I guess this should permit to create a memory
area on which you can execute code.