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@

Reply via email to