Is that actually enforced in modern linux kernels? I thought it would be possible to call
mmap(..., PROT_READ | PROT_WRITE | PROT_EXEC, ...) mmap(..., PROT_READ | PROT_WRITE | PROT_EXEC, ...)