CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2014/01/06 13:27:44
Modified files: sys/arch/alpha/alpha: pmap.c trap.c sys/arch/alpha/include: pte.h Log message: Put PG_EXEC and PG_FOE into the PG_PROT mask, and make sure the default pte protection masks, as initialized in alpha_protection_init(), set PG_FOE by default when VM_PROT_EXECUTE is not set. Also, change pmap_emulate_reference() to only clear PG_FOE if the affected pte has executable permission. This allows various pmap_pte_exec() checks (added to explicitely set PG_FOE) to be removed. All tests of regress/sys/kern/noexec now reliably pass on EV5. EV6 systems still see spurious (but no longer 100% reproduceable) failures of the `catch a signal' tests, which is likely caused by the effect of mprotect() removing execute permission not taking effect correctly, despite PAL IMB being issued (and no, this is not caused by the previous pmap_changebit() change), to be investigated.