1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys
Nathan Whitehorn 53607fe3cc Fix an extremely subtle concurrency bug triggered by running on 32-thread
POWER8 systems. During thread switch, there was a very small window when
the stack pointer was set to the stack pointer of the outgoing thread, but
after the lock on that thread had already been released.

If, during that window, the outgoing thread were rescheduled on another CPU
and begin execution and an exception were taken on the original CPU, the
trap handler and the outgoing thread would simultaneously execute on the same
stack, causing memory corruption. Fix this by making sure to release the
old thread only after cpu_switch() is done with its stack.

MFC after:	2 weeks
Sponsored by:	FreeBSD Foundation
2015-02-09 02:17:21 +00:00
..
amd64 Revert the IPI startup sequence to match what is described in the 2015-02-06 18:19:59 +00:00
arm Add VideoCore audio driver for Rasperry Pi (BCM2835) 2015-02-08 01:12:40 +00:00
boot Revert SVN r277693. 2015-02-06 23:19:17 +00:00
bsm
cam Fix ordering of "*logout" and "*terminate"; no functional changes. 2015-02-08 19:18:23 +00:00
cddl Fix a typo in r278137: make sure to free provider state. 2015-02-08 03:55:12 +00:00
compat
conf Add WPI_DEBUG option. 2015-02-07 23:09:03 +00:00
contrib Act as a bus in attach method: probe and attach devices 2015-02-08 01:12:23 +00:00
crypto
ddb
dev Extend ICL to add receive offload methods. For software ICL backend 2015-02-08 19:15:14 +00:00
fs Remove duplicated assignment. 2015-02-03 12:09:48 +00:00
gdb
geom
gnu
i386 Revert the IPI startup sequence to match what is described in the 2015-02-06 18:19:59 +00:00
isa
kern Preset the object's color, or alignment, to maximize superpage usage. 2015-02-08 21:00:51 +00:00
kgssapi
libkern
mips The linux driver code for the MDIO bus does a read-after-write 2015-02-02 17:33:00 +00:00
modules Add WPI_DEBUG option. 2015-02-07 23:09:03 +00:00
net
net80211
netgraph
netinet The flowid and hashtype should be copied from the originating packet 2015-02-02 17:32:50 +00:00
netinet6 Print IPv6 address in log message instead of address of pointer. 2015-02-05 16:29:26 +00:00
netipsec
netnatm
netpfil Fix IP_FW_NAT44_LIST_NAT size calculation. 2015-02-05 14:54:53 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix bug in idr_pre_get where it doesn't handle 'need' correctly. 2015-02-02 23:41:43 +00:00
opencrypto
pc98
powerpc Fix an extremely subtle concurrency bug triggered by running on 32-thread 2015-02-09 02:17:21 +00:00
rpc rpc: Uninitialized pointer read 2015-02-02 16:07:07 +00:00
security
sparc64 Do not qualify the mcontext_t *mcp argument for set_mcontext(9) as 2015-01-31 21:43:46 +00:00
sys Add a new device control utility for new-bus devices called devctl. This 2015-02-06 16:09:01 +00:00
teken
tools
ufs Partially revert r277922, avoid sleeping and do flush if we a awaken, 2015-02-05 13:00:27 +00:00
vm
x86 Revert the IPI startup sequence to match what is described in the 2015-02-06 18:19:59 +00:00
xdr
xen
Makefile