Hi,

Having taken a close look at the memory protection changes in Linux 5.8, it's 
looking quite nasty. The Linux personality hack is not going to work because 
the READ_IMPLIES_EXEC flag is ignored. And, oddly, the execstack dlag is not 
honoured, which at the moment I suspect is a bug. 

One way forward is suggested by the AIX code in c_core.c, where _pop_brk and 
_pop_sbrk are defined. This redefines them to use mmap, which allows us to use 
the appropriate protection flags, which are honoured. The bit I am confused by 
is how these definitions get hooked into the Poplog executable. I haven't found 
any reference to them so, I suspect, it's either dead code OR there's some 
naming convention that joins it all together.

Does anyone on the list understand how that code works? If so, I'd love to hear 
about it.

Steve

Reply via email to