Date: Mon, 18 Aug 2008 08:47:27 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/amd64/amd64 exception.S Message-ID: <200808180847.m7I8lipW096866@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2008-08-18 08:47:27 UTC FreeBSD src repository Modified files: sys/amd64/amd64 exception.S Log: SVN rev 181823 on 2008-08-18 08:47:27Z by kib The doreti_iret_fault code is always called with gs base MSR containing kernel gs base, because %rip is adjusted only on kernel-mode trap caused by iretq execution. On the other hand, the stack contains (hardware part of) trap frame from the usermode. As a consequence, checking for frame mode and doing swapgs causes the kernel to enter trap() with usermode gs base. Remove the check for mode and conditional swapgs, we already have right gs base in the MSR. Submitted by: Nate Eldredge <neldredge math ucsd edu> MFC after: 3 days Revision Changes Path 1.133 +3 -6 src/sys/amd64/amd64/exception.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808180847.m7I8lipW096866>