freebsd-dev/sys
Mark Johnston 2fb62b1a46 Fix the turnstile_lock() KPI.
turnstile_{lock,unlock}() were added for use in epoch.  turnstile_lock()
returned NULL to indicate that the calling thread had lost a race and
the turnstile was no longer associated with the given lock, or the lock
owner.  However, reader-writer locks may not have a designated owner,
in which case turnstile_lock() would return NULL and
epoch_block_handler_preempt() would leak spinlocks as a result.

Apply a minimal fix: return the lock owner as a separate return value.

Reviewed by:	kib
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21048
2019-07-24 23:04:59 +00:00
..
amd64 Improve the precision of bhyve's vPIT. 2019-07-20 15:59:49 +00:00
arm arm: ti: Add a driver for ti,sysc bus 2019-07-22 21:55:33 +00:00
arm64 As with r350241 use the new UL macro on the main register mask. 2019-07-23 14:52:46 +00:00
bsm
cam Make CAM ATA stack handle disk resizes. 2019-07-23 02:11:14 +00:00
cddl Fix FASTTRAPIOC_GETINSTR. 2019-07-17 16:38:29 +00:00
compat linuxcommon: add module version 2019-07-10 13:47:10 +00:00
conf o Add support for BERI IOMMU device 2019-07-22 16:01:20 +00:00
contrib As of upstream fil.c CVS r1.53 (March 1, 2009), prior to the import of 2019-07-16 19:00:42 +00:00
crypto aesni(4): Fix trivial type typo 2019-05-27 00:47:51 +00:00
ddb ddb show proc typo 2019-06-22 05:35:23 +00:00
dev ixgbe(4): Fix enabling/disabling and reconfiguration of queues 2019-07-23 18:14:32 +00:00
dts dtso: allwinner: Add an overlay for H3 i2c0 2019-07-20 17:42:46 +00:00
fs Add additional check for 'blocks per group' and 'fragments per group' superblock fields. 2019-07-07 08:58:02 +00:00
gdb
geom g_mirror_taste: avoid deadlock, always clear tasting flag 2019-07-01 22:06:36 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 Revert r349973. Upon further reflection, I realized that the comment 2019-07-16 03:09:03 +00:00
isa
kern Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern Remove pre-FreeBSD 7.0 compatibility. 2019-07-19 18:38:47 +00:00
mips o Add support for BERI IOMMU device 2019-07-22 16:01:20 +00:00
modules enable ig4_acpi on aarch64 2019-07-24 21:26:17 +00:00
net iflib: fix dangling device softc pointer 2019-07-24 21:43:41 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet Add a sysctl variable ts_offset_per_conn to change the computation 2019-07-23 21:28:20 +00:00
netinet6 When calling sctp_initialize_auth_params(), the inp must have at 2019-07-14 12:04:39 +00:00
netipsec netipsec key_register: check for M_NOWAIT alloc failure 2019-06-25 15:43:52 +00:00
netpfil pf: zero output buffer in pfioctl 2019-07-24 16:51:14 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix prio vs. nonprio tagged traffic in RDMACM 2019-06-04 06:21:31 +00:00
opencrypto Move declaration of warninterval out from under COMPAT_FREEBSD32. 2019-06-11 23:28:07 +00:00
powerpc powerpc: Unbreak 64-bit pmap from 350206 2019-07-22 22:59:50 +00:00
riscv riscv: Return vm_paddr_t in pmap_early_vtophys() 2019-07-17 21:25:26 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
sparc64 Don't pass error from syscallenter() to syscallret(). 2019-07-15 21:25:16 +00:00
sys Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
teken
tests
tools Add SDIO support. 2019-06-08 16:26:56 +00:00
ufs The error reported in FS-14-UFS-3 can only happen on UFS/FFS 2019-07-17 22:07:43 +00:00
vm Rename vm_page_{import,release}() to vm_page_zone_{import,release}(). 2019-07-20 18:25:41 +00:00
x86 PR: 239143 2019-07-14 21:08:54 +00:00
xdr
xen
Makefile