freebsd-dev/sys
Mark Johnston 48fcd357c4 Avoid dereferencing curthread->td_proc->p_cred in DTrace probe context.
When a process is exiting, there is a narrow window where p_cred may be
NULL while its threads are still executing. Specifically, the last thread
to exit a process sets the process state to PRS_ZOMBIE with the proc
spinlock held and then calls thread_exit(). thread_exit() drops the spin
lock, permitting the process to be reaped and thus causing its cred struct
to be released. However, the exiting thread may still cause DTrace probes
to fire by calling sched_throw(), resulting in a double fault if such a
probe enabling attempts to access the GID or UID DIF variables.

The thread's cred reference is not susceptible to this race since it is not
released until after the thread has exited.

MFC after:	1 week
2015-08-02 00:11:56 +00:00
..
amd64 Pull pmspcv (pms(4)) from GENERIC. It has PCI ID conflicts 2015-07-31 15:23:48 +00:00
arm Set output pin initial value based on pin's pinmux pullup/pulldown setup 2015-08-01 23:10:36 +00:00
arm64 Try to put the CPU into a low power state if we failed to otherwise halt 2015-07-31 15:54:34 +00:00
boot Document the existence of cloudabi_load and cloudabi64_load. 2015-07-31 08:45:35 +00:00
bsm
cam Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
cddl Avoid dereferencing curthread->td_proc->p_cred in DTrace probe context. 2015-08-02 00:11:56 +00:00
compat Allow CloudABI processes to create shared memory objects. 2015-08-01 07:51:48 +00:00
conf Load the stack in stack_save and stack_save_td. This uses the generalised 2015-07-31 15:32:32 +00:00
contrib Import Annapurna Labs Alpine HAL to sys/contrib/ 2015-07-28 14:20:33 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Various changes to the registers displayed in DDB for x86. 2015-07-22 01:09:02 +00:00
dev Free mbufs when busdma loading fails. 2015-08-01 20:40:37 +00:00
fs This patch fixes a problem where, if the NFSv4 server has a previous 2015-07-29 23:06:30 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Report the scheme and provider names in warning message about unaligned 2015-07-26 11:16:48 +00:00
gnu The GNU Amlogic DTS files have some errors (e.g. bad register 2015-04-11 08:17:39 +00:00
i386 Pull pmspcv (pms(4)) from GENERIC. It has PCI ID conflicts 2015-07-31 15:23:48 +00:00
isa
kern Don't modify curthread->td_locks unless INVARIANTS is enabled. 2015-08-02 00:03:08 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Remove dead functions pmap_pvdump and pads. 2015-07-29 20:47:27 +00:00
modules Build if_stf(4) module only when both INET and INET6 support are enabled. 2015-07-30 10:26:43 +00:00
net Remove two unnecessary sleeps from the hot path in bpf(4). 2015-07-31 21:43:27 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet Remove unneded #include "opt_inet.h". 2015-07-31 09:02:28 +00:00
netinet6 Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
netipsec these are comparing authenticators and need to be constant time... 2015-07-31 00:31:52 +00:00
netnatm
netpfil Reduce overhead of ipfw's me6 opcode. 2015-07-29 10:53:42 +00:00
netsmb
nfs
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver
nlm
ofed ib mad: fix an incorrect use of list_for_each_entry 2015-07-30 18:28:37 +00:00
opencrypto Fix XTS, and name things a bit better... 2015-07-14 07:45:18 +00:00
pc98 Spell crypto correctly. 2015-07-14 10:47:56 +00:00
powerpc Implement the lockstat provider using SDT(9) instead of the custom provider 2015-07-19 22:14:09 +00:00
rpc Remove useless acquire semantic from the atomic_add operation before 2015-07-28 06:58:10 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 o Revert the other functional half of r239864, i. e. the merge of r134227 2015-07-24 15:13:21 +00:00
sys Don't modify curthread->td_locks unless INVARIANTS is enabled. 2015-08-02 00:03:08 +00:00
teken
tools
ufs - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
vm Do not pretend that vm_fault(9) supports unwiring the address. Rename 2015-07-30 18:28:34 +00:00
x86 Add bit names for the IA32_MISC_ENABLE msr. 2015-07-28 06:55:08 +00:00
xdr
xen Add support for Xen blkif indirect segment I/Os. This makes it possible for 2015-07-30 03:50:01 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00