Skip site navigation (1)Skip section navigation (2)
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>