freebsd-skq/sys
Roger Pau Monné e2e4a0e02a xen-blkback: don't unbind the interrupt while holding the lock
There's no need to perform the interrupt unbind while holding the
blkback lock, and doing so leads to the following LOR:

lock order reversal: (sleepable after non-sleepable)
 1st 0xfffff8000802fe90 xbbd1 (xbbd1) @ /usr/src/sys/dev/xen/blkback/blkback.c:3423
 2nd 0xffffffff81fdf890 intrsrc (intrsrc) @ /usr/src/sys/x86/x86/intr_machdep.c:224
stack backtrace:
#0 0xffffffff80bdd993 at witness_debugger+0x73
#1 0xffffffff80bdd814 at witness_checkorder+0xe34
#2 0xffffffff80b7d798 at _sx_xlock+0x68
#3 0xffffffff811b3913 at intr_remove_handler+0x43
#4 0xffffffff811c63ef at xen_intr_unbind+0x10f
#5 0xffffffff80a12ecf at xbb_disconnect+0x2f
#6 0xffffffff80a12e54 at xbb_shutdown+0x1e4
#7 0xffffffff80a10be4 at xbb_frontend_changed+0x54
#8 0xffffffff80ed66a4 at xenbusb_back_otherend_changed+0x14
#9 0xffffffff80a2a382 at xenwatch_thread+0x182
#10 0xffffffff80b34164 at fork_exit+0x84
#11 0xffffffff8101ec9e at fork_trampoline+0xe

Reported by:    Nathan Friess <nathan.friess@gmail.com>
Sponsored by:   Citrix Systems R&D
2018-05-24 10:19:54 +00:00
..
amd64 take NUMA out 2018-05-24 04:31:53 +00:00
arm Pass the array length into regions_to_avail. 2018-05-22 14:26:58 +00:00
arm64 arm64: rockchip: Add proper armclock support 2018-05-23 19:07:03 +00:00
bsm
cam Implement initial MMC partitions support for MMCCAM. 2018-05-22 22:16:49 +00:00
cddl Fix 'zpool create -t <tempname>' 2018-05-15 13:27:29 +00:00
compat UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
conf arm64: rockchip: Add proper armclock support 2018-05-23 19:07:03 +00:00
contrib ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
crypto disable printing value of SKEIN_LOOP during standard out, 2018-05-19 18:27:14 +00:00
ddb Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
dev xen-blkback: don't unbind the interrupt while holding the lock 2018-05-24 10:19:54 +00:00
dts arm: overlays: Update to new path-based sugar format 2018-05-04 14:38:48 +00:00
fs nfsclient: warnings cleanups 2018-05-20 06:14:12 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Introduce the 'n' flag for the geli attach command. 2018-05-09 20:53:38 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 x86: stop unconditionally clearing PSL_T on the trace trap. 2018-05-23 21:39:29 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern Remove incorrect owepreempt assertion added in r334062 2018-05-23 10:13:17 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern Remove "All rights reserved" from my files. 2018-05-10 06:41:08 +00:00
mips Include kernel modules for MALTA kernels. 2018-05-16 17:54:40 +00:00
modules disable set but not used on code that can't be changed 2018-05-19 04:46:34 +00:00
net UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph Catch up two more places to the V_ifnet change to a CK_STAILQ. 2018-05-24 00:06:55 +00:00
netinet convert allocations to INVARIANTS M_ZERO 2018-05-24 01:04:56 +00:00
netinet6 UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
netipsec Add a SPD cache to speed up lookups. 2018-05-22 15:54:25 +00:00
netpfil UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
netsmb Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
nfs UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Add an IPMI attachment for PowerNV systems 2018-05-22 03:57:32 +00:00
riscv Export a breakpoint() function to userland for riscv. 2018-05-16 16:56:35 +00:00
rpc
security Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
sparc64 Enable kernel dump features in GENERIC for most platforms. 2018-05-19 19:53:23 +00:00
sys convert allocations to INVARIANTS M_ZERO 2018-05-24 01:04:56 +00:00
teken teken: Rename the "Set Cursor Style" sequence to match vt100.net docs 2018-05-21 20:35:16 +00:00
tests epoch(9): Make epochs non-preemptible by default 2018-05-18 17:29:43 +00:00
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs ufs: remove cgbno variable where unused 2018-05-19 19:30:42 +00:00
vm Ensure that "m" is initialized in vm_page_alloc_freelist_domain(). 2018-05-22 16:19:48 +00:00
x86 Fix UP build. 2018-05-22 20:50:19 +00:00
xdr
xen xen: fix gntdev 2018-05-02 10:19:17 +00:00
Makefile