linux-sg2042/drivers
Daniel Wagner 085195aa90 nvme-fc: do not wait in vain when unloading module
[ Upstream commit 70fbfc47a3 ]

The module exit path has race between deleting all controllers and
freeing 'left over IDs'. To prevent double free a synchronization
between nvme_delete_ctrl and ida_destroy has been added by the initial
commit.

There is some logic around trying to prevent from hanging forever in
wait_for_completion, though it does not handling all cases. E.g.
blktests is able to reproduce the situation where the module unload
hangs forever.

If we completely rely on the cleanup code executed from the
nvme_delete_ctrl path, all IDs will be freed eventually. This makes
calling ida_destroy unnecessary. We only have to ensure that all
nvme_delete_ctrl code has been executed before we leave
nvme_fc_exit_module. This is done by flushing the nvme_delete_wq
workqueue.

While at it, remove the unused nvme_fc_wq workqueue too.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-01 13:26:27 +01:00
..
accessibility
acpi ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events 2024-02-05 20:12:47 +00:00
amba amba: bus: fix refcount leak 2023-09-13 09:42:56 +02:00
android binder: signal epoll threads of self-work 2024-02-23 09:12:39 +01:00
ata ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers 2024-03-01 13:26:26 +01:00
atm atm: idt77252: fix a memleak in open_card_ubr0 2024-02-16 19:06:26 +01:00
auxdisplay auxdisplay: hd44780: move cursor home after clear display command 2023-12-08 08:51:16 +01:00
base pmdomain: core: Move the unused cleanup to a _sync initcall 2024-02-23 09:12:47 +01:00
bcma
block aoe: avoid potential deadlock at set_capacity 2024-03-01 13:26:26 +01:00
bluetooth Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066 2024-02-05 20:12:53 +00:00
bus bus: moxtet: Add spi device table 2024-02-23 09:12:48 +01:00
cdrom
char hwrng: core - Fix page fault dead lock on mmap-ed hwrng 2024-01-31 16:16:58 -08:00
clk clk: imx: clk-imx8qxp: fix LVDS bypass, pixel and phy clocks 2024-02-05 20:12:57 +00:00
clocksource clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings 2024-01-25 15:27:39 -08:00
comedi
connector
counter counter: microchip-tcb-capture: Fix the use of internal GCLK logic 2023-10-19 23:08:58 +02:00
cpufreq cpufreq: intel_pstate: Refine computation of P-state for given frequency 2024-01-31 16:17:08 -08:00
cpuidle powerpc/pseries: Rework lppaca_shared_proc() to avoid DEBUG_PREEMPT 2023-09-13 09:42:48 +02:00
crypto crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked 2024-02-23 09:12:44 +01:00
cxl cxl/region:Fix overflow issue in alloc_hpa() 2024-01-31 16:17:12 -08:00
dax
dca
devfreq PM / devfreq: Synchronize devfreq_monitor_[start/stop] 2024-02-05 20:12:47 +00:00
dio
dma dmaengine: ti: edma: Add some null pointer checks to the edma_probe 2024-03-01 13:26:26 +01:00
dma-buf dma-buf: fix check in dma_resv_add_fence 2023-12-08 08:51:15 +01:00
edac EDAC/thunderx: Fix possible out-of-bounds string access 2024-01-25 15:27:18 -08:00
eisa
extcon extcon: cht_wc: add POWER_SUPPLY dependency 2023-09-13 09:42:53 +02:00
firewire firewire: core: correct documentation of fw_csr_string() kernel API 2024-02-23 09:12:37 +01:00
firmware riscv/efistub: Ensure GP-relative addressing is not used 2024-03-01 13:26:25 +01:00
fpga
fsi fsi: aspeed: Reset master errors after CFAM reset 2023-09-13 09:42:54 +02:00
gnss
gpio gpio: eic-sprd: Clear interrupt after set the interrupt type 2024-01-31 16:17:11 -08:00
gpu drm/amd/display: increased min_dcfclk_mhz and min_fclk_mhz 2024-03-01 13:26:27 +01:00
greybus
hid HID: wacom: Do not register input devices until after hid_hw_start 2024-02-23 09:12:33 +01:00
hsi
hte hte: tegra: Fix missing error code in tegra_hte_test_probe() 2023-11-20 11:51:58 +01:00
hv Drivers: hv: vmbus: Don't dereference ACPI root object handle 2023-09-13 09:42:59 +02:00
hwmon hwmon: (coretemp) Fix bogus core_id to attr name mapping 2024-02-16 19:06:27 +01:00
hwspinlock hwspinlock: qcom: add missing regmap config for SFPB MMIO implementation 2023-09-19 12:28:05 +02:00
hwtracing coresight: etm4x: Fix width of CCITMIN field 2024-01-20 11:50:11 +01:00
i2c i2c: i801: Fix block process call transactions 2024-02-23 09:12:35 +01:00
i3c i3c: master: cdns: Update maximum prescaler value for i2c clock 2024-02-05 20:12:58 +00:00
idle intel_idle: add Emerald Rapids Xeon support 2023-10-10 22:00:44 +02:00
iio iio: imu: bno055: serdev requires REGMAP 2024-02-23 09:12:41 +01:00
infiniband RDMA/irdma: Ensure iWarp QP queue memory is OS paged aligned 2024-02-23 09:12:50 +01:00
input Input: xpad - add Lenovo Legion Go controllers 2024-03-01 13:26:27 +01:00
interconnect interconnect: qcom: sc8180x: Mark CO0 BCM keepalive 2024-02-23 09:12:34 +01:00
iommu iommu/dma: Trace bounce buffer usage when mapping buffers 2024-01-25 15:27:43 -08:00
ipack
irqchip irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update 2024-02-23 09:12:45 +01:00
isdn mISDN: Update parameter type of dsp_cmx_send() 2023-08-16 18:27:26 +02:00
leds leds: trigger: panic: Don't register panic notifier if creating the trigger failed 2024-02-05 20:12:57 +00:00
macintosh
mailbox mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt 2024-02-05 20:12:58 +00:00
mcb mcb: fix error handling for different scenarios when parsing 2023-11-28 17:07:13 +00:00
md dm: limit the number of targets and parameter size area 2024-02-23 09:12:52 +01:00
media media: rc: bpf attach/detach requires write permission 2024-02-23 09:12:41 +01:00
memory
memstick
message
mfd mfd: ti_am335x_tscadc: Fix TI SoC dependencies 2024-02-05 20:12:58 +00:00
misc misc: open-dice: Fix spurious lockdep warning 2024-03-01 13:26:27 +01:00
mmc mmc: sdhci-pci-o2micro: Fix a warm reboot issue that disk can't be detected by BIOS 2024-02-23 09:12:45 +01:00
most
mtd mtd: parsers: ofpart: add workaround for #size-cells 0 2024-02-16 19:06:29 +01:00
mux
net mlxsw: spectrum_acl_tcam: Fix stack corruption 2024-02-23 09:12:53 +01:00
nfc
ntb ntb: Fix calculation ntb_transport_tx_free_entry() 2023-09-13 09:43:02 +02:00
nubus
nvdimm nd_btt: Make BTT lanes preemptible 2023-11-20 11:52:05 +01:00
nvme nvme-fc: do not wait in vain when unloading module 2024-03-01 13:26:27 +01:00
nvmem nvmem: imx: correct nregs for i.MX6UL 2023-11-02 09:35:31 +01:00
of of: property: Add in-ports/out-ports support to of_graph_get_port_parent() 2024-02-23 09:12:52 +01:00
opp OPP: Pass rounded rate to _set_opp() 2024-01-31 16:16:58 -08:00
parisc parisc/power: Fix power soft-off button emulation on qemu 2024-01-31 16:16:59 -08:00
parport parport: parport_serial: Add Brainboxes device IDs and geometry 2024-01-20 11:50:11 +01:00
pci PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq() 2024-03-01 13:26:25 +01:00
pcmcia pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() 2023-11-20 11:52:13 +01:00
peci
perf perf: hisi: Fix use-after-free when register pmu fails 2023-11-20 11:52:01 +01:00
phy phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP 2024-02-16 19:06:25 +01:00
pinctrl pinctrl: cy8c95x0: Fix get_pincfg 2024-01-20 11:50:09 +01:00
platform platform/x86: touchscreen_dmi: Add info for the TECLAST X16 Plus tablet 2024-03-01 13:26:26 +01:00
pnp PNP: ACPI: fix fortify warning 2024-02-05 20:12:47 +00:00
power power: supply: bq256xx: fix some problem in bq256xx_hw_init 2024-01-25 15:27:45 -08:00
powercap powercap: DTPM: Fix missing cpufreq_cpu_put() calls 2023-12-13 18:39:21 +01:00
pps
ps3
ptp ptp: annotate data-race around q->head and q->tail 2023-11-28 17:07:05 +00:00
pwm pwm: Fix out-of-bounds access in of_pwm_single_xlate() 2024-01-25 15:27:42 -08:00
rapidio
ras
regulator regulator: pwm-regulator: Add validity checks in continuous .get_voltage 2024-03-01 13:26:26 +01:00
remoteproc
reset reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning 2024-01-20 11:50:07 +01:00
rpmsg rpmsg: virtio: Free driver_override when rpmsg_remove() 2024-01-31 16:16:59 -08:00
rtc rtc: Extend timeout for waiting for UIP to clear to 1s 2024-01-31 16:17:01 -08:00
s390 s390/qeth: Fix potential loss of L3-IP@ in case of network issues 2024-02-23 09:12:46 +01:00
sbus
scsi scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock" 2024-02-23 09:12:37 +01:00
sh
siox
slimbus
soc soc: xilinx: fix unhandled SGI warning message 2024-02-05 20:12:50 +00:00
soundwire soundwire: stream: fix NULL pointer dereference for multi_link 2023-12-20 17:00:25 +01:00
spi spi: sh-msiof: avoid integer overflow in constants 2024-03-01 13:26:27 +01:00
spmi spmi: mediatek: Fix UAF on device remove 2024-02-05 20:12:58 +00:00
ssb
staging staging: iio: ad5933: fix type mismatch regression 2024-02-23 09:12:40 +01:00
target scsi: target: core: Add TMF to tmr_list handling 2024-03-01 13:26:25 +01:00
tc
tee tee: optee: Fix supplicant based device enumeration 2023-12-13 18:39:12 +01:00
thermal thermal: intel: hfi: Add syscore callbacks for system-wide PM 2024-01-31 16:17:09 -08:00
thunderbolt thunderbolt: Fix memory leak in margining_port_remove() 2024-01-01 12:39:08 +00:00
tty serial: max310x: prevent infinite while() loop in port startup 2024-02-23 09:12:42 +01:00
ufs scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan() 2024-01-31 16:17:00 -08:00
uio uio: Fix use-after-free in uio_open 2024-01-20 11:50:10 +01:00
usb usb: ucsi_acpi: Quirk to ack a connector change ack cmd 2024-03-01 13:26:27 +01:00
vdpa vdpa: Fix an error handling path in eni_vdpa_probe() 2024-01-25 15:27:47 -08:00
vfio vfio/mdev: Fix a null-ptr-deref bug for mdev_unregister_parent() 2023-10-06 14:56:45 +02:00
vhost vhost: use kzalloc() instead of kmalloc() followed by memset() 2024-02-16 19:06:31 +01:00
video fbdev: sis: Error out if pixclock equals zero 2024-03-01 13:26:25 +01:00
virt virt: sevguest: Fix passing a stack buffer as a scatterlist target 2023-11-20 11:52:13 +01:00
virtio virtio_pci: fix the common cfg map size 2023-11-02 09:35:23 +01:00
vlynq
w1
watchdog watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786 2024-02-05 20:12:56 +00:00
xen xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import 2024-02-05 20:12:58 +00:00
zorro
Kconfig
Makefile