Module Name: src
Committed By: snj
Date: Thu May 20 05:57:43 UTC 2010
Modified Files:
src/doc [netbsd-5-0]: CHANGES-5.0.3
Log Message:
Tickets 1388 and 1401.
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/doc/CHANGES-5.0.3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/doc/CHANGES-5.0.3
diff -u src/doc/CHANGES-5.0.3:1.1.2.12 src/doc/CHANGES-5.0.3:1.1.2.13
--- src/doc/CHANGES-5.0.3:1.1.2.12 Fri Apr 23 04:21:59 2010
+++ src/doc/CHANGES-5.0.3 Thu May 20 05:57:43 2010
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-5.0.3,v 1.1.2.12 2010/04/23 04:21:59 snj Exp $
+# $NetBSD: CHANGES-5.0.3,v 1.1.2.13 2010/05/20 05:57:43 snj Exp $
A complete list of changes from the NetBSD 5.0.2 release to the NetBSD 5.0.3
release:
@@ -227,3 +227,33 @@
marked as not being executable).
[jym, ticket #1380]
+sys/conf/copyright 1.7
+
+ Welcome to 2010.
+ [tsutsui, ticket #1388]
+
+sys/arch/i386/i386/trap.c 1.251-1.253 via patch
+sys/arch/i386/i386/vector.S 1.50-1.51 via patch
+
+ If we fault on the 'iret' during return to userpace (eg if %eip is
+ outside the bounds of %cs) then hack the stack to contain a normal
+ fault frame for the signal setup code (etc).
+ Previously the code assumed that the original user trap frame was
+ still present - at it is for faults when loading the segment
+ registers.
+ --
+ If we fault on the iret during return to userspace, see if we need
+ to do a lazy update of %cs to make the stack executable. If a
+ change is made, just retry the failing sequence. Signal handlers
+ as gcc nested local functions now work!
+ --
+ Fix 'fault on load of %gs during retirn to userspace' to look for
+ the correct instruction bytes. Take the 'fault on load segment
+ register' through the same path as 'fault on iret' so we don't have
+ to fixup the broken stackframe that contains a mix of user and
+ kernel registers. Update comments about how the faults during
+ return to userspace are processed. Setting an invalid %gs in the
+ saved context of a signal handler causes a SIGSEGV handler to be
+ entered with what look like valid registers.
+ [riz, ticket #1401]
+