freebsd-dev/sys
Marcel Moolenaar 62931aa266 Make sure we have all the dirty registers in user frames on the
backing store before we discard them. It is possible that we
enter the kernel (due to an execve in this case) with a lot of
dirty user registers and that the RSE has only partially spilled
them (to make room for new frames). We cannot move the backing
store pointer down (to discard user registers) when not all of
the user registers are on the backing store.
So, we flush the register stack IFF this happens. Unconditionally
doing the flush is too costly, because the condition in which we
need to flush is very rare.

This change appears to fix the SIGSEGV that sometimes happen for
newly executed processes and so far also appears to fix the last
of the corruption. It is possible, although not likely, that this
change prevents some other bug from happening, even though it is
itself not a fix. Hence the uncertainty. We'll know in a couple
of months I guess :-)
2003-05-31 20:42:35 +00:00
..
alpha Rename BUS_DMAMEM_NOSYNC to BUS_DMA_COHERENT. 2003-05-30 20:40:33 +00:00
amd64 Avoid unbalancing the { } count in the source file with #ifdef by 2003-05-31 20:25:53 +00:00
arm sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
boot Man, I'm not on the ball. 4th does not need to escape '\' chars. This 2003-05-31 16:07:00 +00:00
cam Add /* FALLTHROUGH */ 2003-05-31 18:20:26 +00:00
coda - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with 2003-03-31 22:49:17 +00:00
compat Put definition of struct svr4_sockcache_entry in a .h file rather than 2003-05-31 20:33:18 +00:00
conf Eliminate potential overflows by allocating softc dynamically, 2003-05-31 17:06:20 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r115367, 2003-05-28 17:32:31 +00:00
crypto Assembly files put thru the C preprocessor need to have C style comments. 2003-04-21 16:30:12 +00:00
ddb Add /* FALLTHROUGH */ 2003-05-31 19:00:02 +00:00
dev Remove unused variable(s). 2003-05-31 20:42:24 +00:00
fs Remove unused variable(s). 2003-05-31 20:29:34 +00:00
geom Remove unused variable. 2003-05-31 19:41:33 +00:00
gnu Remove extra ';' 2003-05-31 18:52:38 +00:00
i4b Fix off-by-one errors in range checks of state machine states & events. 2003-05-31 18:54:02 +00:00
i386 Remove unused variable(s). 2003-05-31 20:29:34 +00:00
ia64 Make sure we have all the dirty registers in user frames on the 2003-05-31 20:42:35 +00:00
isa Remove unused variable(s). 2003-05-31 20:29:34 +00:00
isofs/cd9660 emove unused variable(s). 2003-05-31 20:19:13 +00:00
kern Remove unused variable(s). 2003-05-31 20:29:34 +00:00
libkern Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
modules Add GEOM module compilation shims. 2003-05-31 18:36:41 +00:00
net Wrap macro in do {...} while(0); 2003-05-31 20:07:16 +00:00
netatalk - Use if_broadcastaddr from struct ifnet rather than relying on 2003-03-21 17:53:16 +00:00
netatm Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
netgraph fix a cut-n-paste error. 2003-05-15 18:51:28 +00:00
netinet Add /* FALLTHROUGH */ 2003-05-31 19:07:22 +00:00
netinet6 Add definitions for IN6ADDR_LINKLOCAL_ALLMDNS_INIT and INADDR_ALLMDNS_GROUP. 2003-04-29 22:03:46 +00:00
netipsec Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netipx Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL). 2003-03-08 06:58:22 +00:00
netkey Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netnatm Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netncp - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
netsmb - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
nfs Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
nfsclient Remove unsed variables. 2003-05-31 20:05:25 +00:00
nfsserver Add /* FALLTHROUGH */ 2003-05-31 18:20:26 +00:00
opencrypto Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
pc98 Eliminate potential overflows by allocating softc dynamically, 2003-05-31 17:06:20 +00:00
pccard 1. Allow drivers to query CIS strings from OLDCARD. 2003-04-23 23:39:21 +00:00
pci Remove unused variable. 2003-05-31 20:04:19 +00:00
posix4 Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
powerpc Bring back bus_dmasync_op_t. It is now a typedef to an int, though the 2003-05-27 04:59:59 +00:00
rpc
security Remove double return() 2003-05-31 19:55:32 +00:00
sparc64 Fix interrupt assignment for non-builtin PCI devices on e450s. 2003-05-30 20:48:05 +00:00
sys Use symbolic constants instead of "4". 2003-05-31 16:54:37 +00:00
tools MFp4: 2003-03-28 06:43:50 +00:00
ufs Remove unused variable. 2003-05-31 19:56:09 +00:00
vm Prepend _ to internal union members to avoid ambiguity. 2003-05-31 19:52:15 +00:00
Makefile Exclude sys/boot for amd64. There are still toolchain issues to deal 2003-05-08 06:35:39 +00:00