1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/sys
Konstantin Belousov 6a440fc3e0 Route all returns from the interrupts and faults through the doreti_iret
labeled iretq instruction.

Suppose that multithreaded process executes two threads, currently
scheduled on different processors. Let assume that thread A executes
using %cs or %ss pointing into the descriptor from LDT. If IPI comes
which handler does not return by jump to doreti, and meantime thread B
invalidates descriptor pointed to by %cs or %ss, then iretq from IPI
handler could fault.

Routing the return by doreti_iret allows kernel to catch the situation
and recover from it by sending signal to the usermode.

Tested by:	pho
MFC after:	1 week
2010-05-12 10:29:35 +00:00
..
amd64 Route all returns from the interrupts and faults through the doreti_iret 2010-05-12 10:29:35 +00:00
arm The FA526 belongs to the ARM9TDMI family 2010-05-12 05:50:56 +00:00
boot Formatting nit 2010-05-10 18:23:00 +00:00
bsm
cam Pick up the right change, not it's close cousin. The one 2010-05-11 22:51:13 +00:00
cddl Fix possible hang when replaying large truncations. 2010-05-12 09:51:57 +00:00
compat - #ifdef out the cliplist part, skype seems like using an uninitialized 2010-05-03 14:19:58 +00:00
conf Add support for FA626TE. 2010-05-04 10:14:05 +00:00
contrib MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
crypto
ddb There is not a good reason to have a different prototype for db_printf() 2010-05-11 17:01:14 +00:00
dev Enable 5.5 and 11Mbit TX rates. 2010-05-11 17:14:17 +00:00
fs The thread_unsuspend() requires both process mutex and process spinlock 2010-05-10 15:19:12 +00:00
gdb
geom - Don't return EAGAIN from gv_unload(). It was used to work around the 2010-05-10 19:12:23 +00:00
gnu Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize(). 2010-05-05 16:44:25 +00:00
i386 Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
ia64 Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
isa
kern I added vfs_lowvnodes event, but it was only used for a short while and now 2010-05-11 22:46:36 +00:00
kgssapi
libkern Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
mips Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
modules Back out r205134. It is not stable. 2010-05-11 15:32:21 +00:00
net workaround bug with ipv6 where a flow can have a null rtentry 2010-05-12 04:51:20 +00:00
net80211 Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
netatalk
netgraph Fix an invalid parameter detected by INVARIANT and confirmed by r193272. 2010-05-06 20:58:23 +00:00
netinet This fixes a bug with the one-2-one model socket when a 2010-05-11 17:02:29 +00:00
netinet6 try working around panic by validating rt and lle 2010-05-12 03:29:11 +00:00
netipsec Set SA's natt_type before calling key_mature() in key_add(), 2010-05-05 08:58:58 +00:00
netipx
netnatm
netncp Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
netsmb Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
nfs
nfsclient Push down the page queues lock into vm_page_activate(). 2010-05-07 15:49:43 +00:00
nfsserver
nlm
opencrypto
pc98 MFi386: revision 206553 2010-04-29 06:22:07 +00:00
pci Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powerpc Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
rpc
security Add a case to make sure that internal audit records get converted 2010-05-04 15:29:07 +00:00
sparc64 Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
sun4v Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
sys I added vfs_lowvnodes event, but it was only used for a short while and now 2010-05-11 22:46:36 +00:00
teken Just use <stdint.h> instead of <inttypes.h>. We don't need it here. 2010-04-03 17:22:28 +00:00
tools
ufs - Call softdep_prealloc() before any of the balloc routines in the 2010-05-07 08:45:21 +00:00
vm Update synchronization annotations for struct vm_page. Add a comment 2010-05-11 01:29:18 +00:00
x86 Fix another instance of lapic_cyclic_clock_func. 2010-04-20 21:04:57 +00:00
xdr
xen
Makefile