CVSROOT: /cvs Module name: src Changes by: kette...@cvs.openbsd.org 2020/09/24 05:18:37
Modified files: sys/arch/i386/i386: pmap.c trap.c sys/arch/i386/include: pmap.h segments.h Log message: Make sure we fetch the CS limit of the CPU the trap happened on. It is possible to switch CPUs when handling a trap since we need to lock the vm_map of the process. In that case the CS limit would be wrong an we incorrectly decide that there has been an execute privilige violation. Also make sure we only modify the variables that keep track of the CS limit and segment descriptor while holding the kernel lock. Fixes builds of go ports on i386. tested by sthen@ ok deraadt@