plan9fox/sys
cinap_lenrek 7bb1a9a185 pc64: map kernel text readonly and everything else no-execute
the idea is to catch bugs and make kernel exploitation
harder by mapping the kernel text section readonly
and everything else no-execute.

l.s maps the KZERO address space using 2MB pages so
to get the 4K granularity for the text section we use
the new ptesplit() function to split that mapping up.

we need to set EFER no-execute enable bit early
in apbootstrap so secondary application processors
will understand the NX bit in our shared kernel page
tables. also APBOOTSTRAP needs to be kept executable.

rebootjump() needs to mark REBOOTADDR page executable.
2019-08-29 07:35:22 +02:00
..
doc
games/lib fortunes: Open source may not be safe if it has no super excellent moderator. 2019-03-17 23:13:27 -04:00
include stdio: fix putc(), plan9 version 2019-06-20 00:04:58 +02:00
lib /sys/lib/dist/mkfile: adjust 2GB for pi3 and zynq img 2019-08-24 16:35:03 +02:00
man walk(1): add history section 2019-07-02 23:34:31 +09:30
src pc64: map kernel text readonly and everything else no-execute 2019-08-29 07:35:22 +02:00