On amd64 machines without the NX feature enabled, we can't distinguish
authorkettenis <kettenis@openbsd.org>
Tue, 17 Jan 2023 08:03:51 +0000 (08:03 +0000)
committerkettenis <kettenis@openbsd.org>
Tue, 17 Jan 2023 08:03:51 +0000 (08:03 +0000)
commit5ccb579607040740c88682cd871266a53495791a
tree58b79c27398c4ddf31fba946f04ae3ef272c28f5
parentbf31d21b53c34d82f0b2275e5dd5913ba58ceef3
On amd64 machines without the NX feature enabled, we can't distinguish
between page faults as a result of instruction fetches or normal data
access.  Handle this in the same way as we do on landisk: if handling
the fault with access type PROT_READ fails, retry with PROT_EXEC.
Fortunately we know whether NX is enabled or nor so only do this when
it isn't.  Nobody should be running an amd64 machine without NX!

ok deraadt@, miod@
sys/arch/amd64/amd64/trap.c