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
