freebsd-skq/sys
Ryan Stone 86a6fcd4ff Fix a false positive in a buf_ring assert
buf_ring contains an assert that checks whether an item being
enqueued already exists on the ring.  There is a subtle bug in
this assert.  An item can be returned by a peek() function and
freed, and then the consumer thread can be preempted before
calling advance().  If this happens the item appears to still be
on the queue, but another thread may allocate the item from the
free pool and wind up trying to enqueue it again, causing the
assert to trigger incorrectly.

Fix this by skipping the head of the consumer's portion of the
ring, as this index is what will be returned by peek().

Sponsored by:	Dell EMC Isilon
MFC After:	1 week
Differential Revision:	https://reviews.freebsd.org/D8685
Reviewed by:	hselasky
2016-12-01 21:08:42 +00:00
..
amd64 Report page faults due to reserved bits in PTEs as a separate fault type. 2016-11-19 01:34:12 +00:00
arm MDIO_PHYACCESS_ACK is only valid for read access, remove it from 2016-12-01 03:34:04 +00:00
arm64 Fix the alloc function the ThunderX PCIe driver calls, the previous 2016-11-30 14:17:06 +00:00
boot EFI loaders: parse rela relocations on amd64 2016-12-01 14:28:37 +00:00
bsm
cam Make SES status updates more aggressive. 2016-11-29 13:48:36 +00:00
cddl MFV r309249: 3821 Race in rollback, zil close, and zil flush 2016-11-28 15:14:31 +00:00
compat Remove PG_CACHED-related fields from struct vmmeter, because they are no 2016-11-22 18:13:46 +00:00
conf hyperv/hn: Add HN_DEBUG kernel option. 2016-12-01 03:27:16 +00:00
contrib Add a FREEBSD-Xlist file for CK. 2016-11-28 21:16:03 +00:00
crypto Add accelerated AES with using the ARMv8 crypto instructions. This is based 2016-11-21 11:18:00 +00:00
ddb Determine the operand/address size of %cs in a new function 2016-09-25 16:30:29 +00:00
dev hyperv/hn: Add 'options RSS' support. 2016-12-01 05:37:29 +00:00
fs NFSv4 client tracks opens, and the track records are only dropped when 2016-11-27 09:20:58 +00:00
gdb
geom Add gmirror create subcommand, alike to gstripe, gconcat, etc. 2016-11-30 09:27:08 +00:00
gnu Add Ingenic X1000 DTS files (unofficial). 2016-11-19 15:03:49 +00:00
i386 MFamd64: Various fatal page fault fixes. 2016-11-19 01:36:44 +00:00
isa
kern vfs: fix a whitespace nit in r309307 2016-11-30 02:17:03 +00:00
kgssapi
libkern Update r309143 to prevent false sharing. 2016-11-25 17:20:23 +00:00
mips bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. 2016-11-26 23:22:32 +00:00
modules hyperv/hn: Add 'options RSS' support. 2016-12-01 05:37:29 +00:00
net IPsec RFC6479 support for replay window sizes up to 2^32 - 32 packets. 2016-11-25 14:44:49 +00:00
net80211 [net80211] high oops on the high seas, or "god damnit compilers, it's 2016 and you're supposed to save me from this." 2016-11-22 17:36:16 +00:00
netgraph Writing out the L2TP control packet requires 12 bytes of 2016-11-17 14:03:44 +00:00
netinet Rework ip_tryforward() to use FIB4 KPI. 2016-11-28 17:55:32 +00:00
netinet6 Make ICMPv6 hard error handling for TCP consistent with the ICMPv4 2016-10-21 10:32:57 +00:00
netipsec Add a missing header 2016-11-26 23:15:11 +00:00
netnatm
netpfil Fix ICMPv6 Time Exceeded error message translation. 2016-11-26 10:04:05 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing 2016-10-20 09:22:10 +00:00
pc98 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
powerpc Bring the powerpc DDB disassembler into the 21st century 2016-11-30 02:35:51 +00:00
riscv Disable superpages reservations as we don't have implemented them yet. 2016-11-21 12:00:31 +00:00
rpc
security Audit 'fd' and 'cmd' arguments to fcntl(2), and when generating BSM, 2016-11-22 00:41:24 +00:00
sparc64 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
sys Fix a false positive in a buf_ring assert 2016-12-01 21:08:42 +00:00
teken
tests
tools
ufs Release laundered vnode pages to the head of the inactive queue. 2016-11-23 17:53:07 +00:00
vm During vm_page_cache()'s call to vm_radix_insert(), if vm_page_alloc() was 2016-12-01 17:26:37 +00:00
x86 - Mention mismatching numbers in MSR vs. ACPI _PSS count warning: seeing 2016-12-01 14:31:05 +00:00
xdr
xen xen: add a grant-table user-space device 2016-10-31 13:12:58 +00:00
Makefile