freebsd-skq/sys
markj e38d62e90d Prevent cv_waiters wraparound.
r282971 attempted to fix this problem by decrementing cv_waiters after
waking up from sleeping on a condition variable, but this can result in
a use-after-free if the CV is freed before all woken threads have had a
chance to run. Instead, avoid incrementing cv_waiters past INT_MAX, and
have cv_signal() explicitly check for sleeping threads once cv_waiters has
reached this bound.

Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D4822
2016-01-09 01:56:46 +00:00
..
amd64 Move amd64 metadata.h to x86 and share with i386 2016-01-07 19:47:26 +00:00
arm Print curpmap in "show pcpu" command. 2016-01-07 12:31:49 +00:00
arm64 Fix the arm64 build by adding an all-important '&' to get a pointer. 2016-01-02 21:13:14 +00:00
boot Only call init_zfs_bootenv() when the system was booted with ZFS 2016-01-09 00:54:08 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Convert sys/cam to use make_dev_s(). 2016-01-07 20:22:55 +00:00
cddl Fix const conversion warning in lz4_decompress 2016-01-06 20:28:09 +00:00
compat LinuxKPI style changes: 2016-01-08 10:04:19 +00:00
conf Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
contrib Have krping use IB_ACCESS_LOCAL_WRITE because it's required for remote 2016-01-05 01:58:30 +00:00
crypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
ddb Add helper to catch single step debug event and distinguish it from bkpt 2015-11-27 19:03:59 +00:00
dev New sendfile(2) syscall. A joint effort of NGINX and Netflix from 2013 and 2016-01-08 20:34:57 +00:00
fs ext2fs: reading mmaped file in Ext4 causes panic 2016-01-07 21:43:43 +00:00
gdb
geom Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 Move amd64 metadata.h to x86 and share with i386 2016-01-07 19:47:26 +00:00
isa
kern Prevent cv_waiters wraparound. 2016-01-09 01:56:46 +00:00
kgssapi Unset the gss kernel state when gssd exits 2016-01-01 17:06:16 +00:00
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
modules Make additional parts of sys/geom/eli more usable in userspace 2016-01-07 05:47:34 +00:00
net Do more fine-grained locking in rtrequest1_fib(). 2016-01-08 16:25:11 +00:00
net80211 [net80211] fix duration field; it's unsigned, but not long. 2016-01-04 17:17:06 +00:00
netgraph Make it possible for sbappend() to preserve M_NOTREADY on mbufs, just like 2016-01-08 19:03:20 +00:00
netinet Apply the changes from r293284 to one additional file. 2016-01-07 11:54:20 +00:00
netinet6 Finish r293098: make ip6_getpmtu() and ip6_getpmtu_ctl() use new routing API 2016-01-04 18:32:24 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm
netpfil Convert pf(4) to the new routing API. 2016-01-07 10:20:03 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs Add kernel support to the NFS server for the "-manage-gids" 2015-11-30 21:54:27 +00:00
nfsclient
nfsserver
nlm
ofed Make it possible for sbappend() to preserve M_NOTREADY on mbufs, just like 2016-01-08 19:03:20 +00:00
opencrypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
pc98 Add asynchronous command support to the pass(4) driver, and the new 2015-12-03 20:54:55 +00:00
powerpc Make arguments for booke_init() u_long, to match register width. 2016-01-04 02:20:14 +00:00
riscv/include Import RISC-V machine headers. This is a minimal set required to compile 2015-12-17 18:44:30 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
sparc64 Make using the #address-cells property on the interrupt parent in device 2016-01-02 19:28:35 +00:00
sys New sendfile(2) syscall. A joint effort of NGINX and Netflix from 2013 and 2016-01-08 20:34:57 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Recheck curthread->td_su after the VFS_SYNC() call, and re-sync if the 2015-12-21 11:50:32 +00:00
vm Add missed relpbuf() for a smallfs page-in. 2015-12-27 14:42:39 +00:00
x86 Move amd64 metadata.h to x86 and share with i386 2016-01-07 19:47:26 +00:00
xdr
xen Clean up unused-but-set-variable spotted by gcc-4.9. 2015-12-31 01:54:07 +00:00
Makefile