Date: Fri, 10 Jul 2009 10:29:16 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 exception.S Message-ID: <200907101029.n6AATaXJ001606@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2009-07-10 10:29:16 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 exception.S
Log:
SVN rev 195535 on 2009-07-10 10:29:16Z by kib
When amd64 CPU cannot load segment descriptor during trap return to
usermode, it generates GPF, that is mirrored to user mode as SIGSEGV.
The offending register in mcontext should contain the value loading of
which generated the GPF, and it is so on i386. On amd64, we currently
report segment descriptor in tf_err, while segment register contains the
corrected value loaded by trap handler.
Fix the issue by behaving like i386, reloading segment register in trap
frame after signal frame is pushed onto user stack.
Noted and tested by: pho
Approved by: re (kensmith)
Revision Changes Path
1.140 +12 -12 src/sys/amd64/amd64/exception.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907101029.n6AATaXJ001606>
