summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/exception.S
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-01-14 14:20:08 +0000
committerkib <kib@FreeBSD.org>2009-01-14 14:20:08 +0000
commitc2da459b12c3e94b251abf12f8755766401ffe0f (patch)
tree5fcd1695bc08ec0e51ceb417897269d0e20e0649 /sys/amd64/amd64/exception.S
parentd6a889ecb31a0300f3ca334a2aa80c3ff2f9e82b (diff)
downloadFreeBSD-src-c2da459b12c3e94b251abf12f8755766401ffe0f.zip
FreeBSD-src-c2da459b12c3e94b251abf12f8755766401ffe0f.tar.gz
Disable interrupts, if they were enabled, before doing swapgs.
Otherwise, interrupt may happen while we run with kernel CS and usermode gsbase. Reviewed by: jeff MFC after: 1 week
Diffstat (limited to 'sys/amd64/amd64/exception.S')
-rw-r--r--sys/amd64/amd64/exception.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S
index 80308a9..1c098e4 100644
--- a/sys/amd64/amd64/exception.S
+++ b/sys/amd64/amd64/exception.S
@@ -494,6 +494,7 @@ outofnmi:
movq %rsp,%rdx /* frame */
sti
call *%rax
+ cli
nocallchain:
#endif
testl %ebx,%ebx
OpenPOWER on IntegriCloud