numam-spdk/lib
Darek Stojaczyk 7c6f0ef001 env_dpdk/pci: fix segfault on simultaneous VFIO hotremove and user detach
There was a chance we scheduled a device removal to the DPDK thread
while that thread was already removing the device from a VFIO hotremove
notification (on the DPDK interrupt thread). The second hotremove
attempt touches some freed memory and segfaults.

The VFIO hotremove notification already checks pending_removal flag
under a mutex and sets it to true, so do the same in spdk_detach_rte()
(called from the SPDK init thread).

Change-Id: Ib3f0eb7c0c5c6e1ab8cf253b7711fd149925a143
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1730
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-07-23 20:48:47 +00:00
..
accel lib/accel: add batch prep for crc32c to accel fw and sw engine 2020-07-22 23:01:45 +00:00
bdev bdev: add allowlist to bdev layer 2020-07-07 07:31:22 +00:00
blob blob: Add a bitmask for quickly checking which blobs are open 2020-07-07 07:30:58 +00:00
blobfs lib: add checks for return code of pthread_spin_init 2020-07-23 07:25:21 +00:00
conf lib/conf: allow multiple sections with same name 2020-07-22 12:24:08 +00:00
env_dpdk env_dpdk/pci: fix segfault on simultaneous VFIO hotremove and user detach 2020-07-23 20:48:47 +00:00
env_ocf lib/ocf_env: fix incorrect value for free memory estimate 2020-04-29 06:42:33 +00:00
event event: expose base virtaddr as an option 2020-07-09 07:23:40 +00:00
ftl lib: add checks for return code of pthread_spin_init 2020-07-23 07:25:21 +00:00
idxd lib/idxd: add batching support for compare command 2020-07-22 23:01:45 +00:00
ioat pollers: Fix pollers to return correct busy status 2020-07-07 07:29:31 +00:00
iscsi iscsi: report that long text responses isn't supported 2020-07-22 12:21:48 +00:00
json lib: json-nbd remove spdk prefix from static functions. 2020-05-21 09:19:00 +00:00
jsonrpc lib: add checks for return code of pthread_spin_init 2020-07-23 07:25:21 +00:00
log lib/log: add a check for localtime() failure 2020-07-15 07:09:19 +00:00
log_rpc lib: json-nbd remove spdk prefix from static functions. 2020-05-21 09:19:00 +00:00
lvol all: Fix warnings found by gcc 9.3.0 and 9.3.1 2020-06-02 09:51:57 +00:00
nbd nbd: Make nbd_poll return real busy/idle status 2020-07-08 07:54:38 +00:00
net lib: net, notify, nvme, rocksdb remove spdk_ prefix. 2020-05-21 09:19:00 +00:00
notify lib: net, notify, nvme, rocksdb remove spdk_ prefix. 2020-05-21 09:19:00 +00:00
nvme nvme_tcp: Move the default buffer factor size in nvme_tcp.h 2020-07-22 12:21:07 +00:00
nvmf nvme_tcp: Move the default buffer factor size in nvme_tcp.h 2020-07-22 12:21:07 +00:00
rdma rdma: Add new API spdk_rdma_qp_accept 2020-06-18 07:28:04 +00:00
reduce mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
rocksdb RocksDB/BlobFS: add the related RPC module 2020-07-21 09:20:06 +00:00
rpc rpc: don't allow starting RPC server on a TCP port 2020-06-08 09:35:16 +00:00
rte_vhost read_fd_message: distinguish prints of log message 2020-05-25 09:08:00 +00:00
scsi pollers: Fix pollers to return correct busy status 2020-07-07 07:29:31 +00:00
sock sock: Save socket subsystem configuration in JSON format 2020-07-13 08:40:15 +00:00
thread thread: add info logs 2020-06-12 15:40:31 +00:00
trace mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
ut_mock mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
util lib/util: remove _spdk prefix from functions. 2020-06-01 13:07:30 +00:00
vhost pollers: Fix pollers to return correct busy status 2020-07-07 07:29:31 +00:00
virtio lib/makefile: move vhost_user.c into lib/virtio directory 2020-06-09 07:37:43 +00:00
vmd mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
Makefile rdma: Intorduce RDMA providers 2020-05-20 12:03:50 +00:00