freebsd-dev/sys
Mark Johnston c080655467 Fix a race between fasttrap and the user breakpoint handler.
When disabling the last enabled userspace probe, fasttrap clears the
function pointers which hook in to the breakpoint handler.  If a traced
thread hit a fasttrap breakpoint before it was removed, we must ensure
that it is able to call the hook; otherwise fasttrap will not consume
the trap and SIGTRAP will be delievered to the thread.  Synchronize
with such threads by ensuring that they load the hook pointer with
interrupts disabled, and by completing an SMP rendezvous after removing
breakpoints and before clearing the pointers.

Reported by:	Alexander Alexeev <Alexander.Alexeev@dell.com>
Tested by:	Alexander Alexeev (earlier version)
Reviewed by:	cem, kib
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D20526
2019-06-06 16:03:25 +00:00
..
amd64 Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
arm Implement the ffs and fls functions, and their longer counterparts, in 2019-05-28 15:47:00 +00:00
arm64 very large dma mappings can cause integer overflow 2019-06-03 19:19:35 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Simplify math added in r310524. 2019-05-22 15:39:35 +00:00
cddl Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
compat makesyscalls.sh: always use absolute path for syscalls.conf 2019-05-30 20:56:23 +00:00
conf Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
contrib While working on a PR, more are discovered. 2019-06-04 19:37:51 +00:00
crypto aesni(4): Fix trivial type typo 2019-05-27 00:47:51 +00:00
ddb Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
dev Don't refer to the cpu variable in a KASSERT before initializing it. 2019-06-06 15:18:23 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Manually clear text references on reclaim for nullfs and tmpfs. 2019-06-05 20:16:25 +00:00
gdb
geom geli: build warning fixes 2019-06-05 22:46:18 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
isa
kern Add a testing facility to manually reclaim a vnode 2019-06-06 15:04:50 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern random(4): depessimize arc4random 2019-05-12 06:32:46 +00:00
mips octusb: fix detach loop over USB ports 2019-06-01 18:19:16 +00:00
modules For armv6 and armv7, build hwpmc_armv7.c as well as the base hwpmc_arm.c. 2019-06-06 15:21:36 +00:00
net iflib: provide probe wrapper for vendor drivers 2019-05-29 22:24:10 +00:00
net80211 Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +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 r347382 added receiver side DSACK support for the TCP base stack. 2019-06-06 07:49:03 +00:00
netinet6 Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
netipsec Add deprecation warnings for IPsec algorithms deprecated in RFC 8221. 2019-05-23 22:06:57 +00:00
netpfil Initialize V_nat64out methods explicitly. 2019-06-05 09:25:40 +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 cryptodeflate: Drop z_stream zbuf.state->dummy from SDT probe. 2019-05-24 02:44:15 +00:00
powerpc powerpc/moea: Fix moea64 native VA invalidation 2019-06-01 01:40:14 +00:00
riscv Include ktr.h in more compilation units 2019-05-21 20:38:48 +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 FCP-101: Remove wb(4) 2019-05-17 15:24:34 +00:00
sys first step towards enforcing must-succeed semantics for bus accessors 2019-06-05 13:18:00 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools Avoid literal @generated tag in file-generating scripts 2019-05-08 13:35:51 +00:00
ufs Add a missing bresle() in seldom-used error return. 2019-05-28 17:31:35 +00:00
vm In vm_map_entry_set_vnode_text(), tolerate tmpfs mappings for which 2019-06-05 20:21:17 +00:00
x86 another occurrence where a very large dma mapping can cause integer overflow 2019-06-05 13:08:21 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile