linux-uconsole/drivers
Sun Ke 7ce9e00a4a nbd: add a flush_workqueue in nbd_start_device
[ Upstream commit 5c0dd228b5 ]

When kzalloc fail, may cause trying to destroy the
workqueue from inside the workqueue.

If num_connections is m (2 < m), and NO.1 ~ NO.n
(1 < n < m) kzalloc are successful. The NO.(n + 1)
failed. Then, nbd_start_device will return ENOMEM
to nbd_start_device_ioctl, and nbd_start_device_ioctl
will return immediately without running flush_workqueue.
However, we still have n recv threads. If nbd_release
run first, recv threads may have to drop the last
config_refs and try to destroy the workqueue from
inside the workqueue.

To fix it, add a flush_workqueue in nbd_start_device.

Fixes: e9e006f5fc ("nbd: fix max number of supported devs")
Signed-off-by: Sun Ke <sunke32@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-24 08:34:39 +01:00
..
accessibility
acpi ACPI / battery: Deal better with neither design nor full capacity not being reported 2020-02-11 04:33:59 -08:00
amba
android binder: Handle start==NULL in binder_update_page_range() 2019-12-13 08:52:52 +01:00
ata ahci: Do not export local variable ahci_em_messages 2020-01-27 14:51:07 +01:00
atm atm: eni: fix uninitialized variable warning 2020-02-01 09:37:09 +00:00
auxdisplay
base PM: core: Fix handling of devices deleted during system-wide resume 2020-02-11 04:34:03 -08:00
bcma bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA 2020-01-27 14:51:09 +01:00
block nbd: add a flush_workqueue in nbd_start_device 2020-02-24 08:34:39 +01:00
bluetooth Bluetooth: btusb: fix PM leak in error case of setup 2020-01-09 10:19:04 +01:00
bus bus: ti-sysc: Fix sysc_unprepare() when no clocks have been allocated 2020-01-27 14:50:36 +01:00
cdrom cdrom: respect device capabilities during opening action 2020-01-04 19:13:12 +01:00
char char/random: silence a lockdep splat with printk() 2020-02-24 08:34:36 +01:00
clk clk: tegra: Mark fuse clock as critical 2020-02-11 04:34:11 -08:00
clocksource clocksource/drivers/bcm2835_timer: Fix memory leak of timer 2020-02-24 08:34:37 +01:00
connector
cpufreq cpufreq: brcmstb-avs-cpufreq: Fix types for voltage/frequency 2020-01-27 14:50:53 +01:00
cpuidle cpuidle: Do not unset the driver if it is there already 2019-12-17 20:35:00 +01:00
crypto crypto: atmel-sha - fix error handling when setting hmac key 2020-02-14 16:33:27 -05:00
dax
dca
devfreq PM / devfreq: Add new name attribute for sysfs 2020-02-05 14:43:34 +00:00
dio
dma dmaengine: ti: edma: fix missed failure handling 2020-01-27 14:51:22 +01:00
dma-buf dma-buf: Fix memory leak in sync_file_merge() 2019-12-21 10:57:38 +01:00
edac EDAC/mc: Fix edac_mc_find() in case no device is found 2020-01-27 14:50:48 +01:00
eisa
extcon extcon: sm5502: Reset registers during initialization 2019-12-31 16:35:11 +01:00
firewire net: add annotations on hh->hh_len lockless accesses 2020-01-09 10:19:09 +01:00
firmware firmware: dmi: Fix unlikely out-of-bounds read in save_mem_devices 2020-01-27 14:51:19 +01:00
fmc
fpga
fsi fsi: sbefifo: Don't fail operations when in SBE IPL state 2020-01-27 14:51:00 +01:00
gnss
gpio gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap() 2020-02-24 08:34:36 +01:00
gpu drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero 2020-02-24 08:34:39 +01:00
hid HID: steam: Fix input device disappearing 2020-02-01 09:37:09 +00:00
hsi
hv hv_balloon: Balloon up according to request page number 2020-02-11 04:34:01 -08:00
hwmon hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions. 2020-02-19 19:51:59 +01:00
hwspinlock
hwtracing coresight: tmc-etf: Do not call smp_processor_id from preemptible 2020-01-29 16:43:23 +01:00
i2c i2c: stm32f7: report dma error during probe 2020-01-27 14:51:21 +01:00
ide
idle
iio iio: st_gyro: Correct data for LSM9DS0 gyro 2020-02-01 09:37:04 +00:00
infiniband RDMA/core: Fix protection fault in get_pkey_idx_qp_list 2020-02-19 19:51:58 +01:00
input Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list 2020-02-19 19:51:53 +01:00
iommu iommu/vt-d: Fix off-by-one in PASID allocation 2020-02-24 08:34:36 +01:00
ipack
irqchip irqchip: Place CONFIG_SIFIVE_PLIC into the menu 2020-01-23 08:21:36 +01:00
isdn staging: gigaset: add endpoint-type sanity check 2019-12-17 20:34:33 +01:00
leds leds: pca963x: Fix open-drain initialization 2020-02-24 08:34:35 +01:00
lightnvm lightnvm: pblk: fix lock order in pblk_rb_tear_down_check 2020-01-27 14:50:45 +01:00
macintosh macintosh/windfarm_smu_sat: Fix debug output 2019-12-01 09:16:37 +01:00
mailbox mailbox: qcom-apcs: fix max_register value 2020-01-27 14:51:14 +01:00
mcb
md bcache: add readahead cache policy options via sysfs interface 2020-02-11 04:34:08 -08:00
media media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run() 2020-02-24 08:34:36 +01:00
memory memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20 2020-01-27 14:50:13 +01:00
memstick
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:21:28 +01:00
mfd mfd: rn5t618: Mark ADC control register volatile 2020-02-11 04:34:14 -08:00
misc mei: me: add comet point (lake) H device ids 2020-02-01 09:37:04 +00:00
mmc mmc: sdhci-of-at91: fix memleak on clk_get failure 2020-02-11 04:34:00 -08:00
mtd mtd: sharpslpart: Fix unsigned comparison to zero 2020-02-14 16:33:27 -05:00
mux
net ath10k: Correct the DMA direction for management tx buffers 2020-02-24 08:34:39 +01:00
nfc NFC: pn544: Adjust indentation in pn544_hci_check_presence 2020-02-11 04:34:12 -08:00
ntb ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev() 2020-01-27 14:50:55 +01:00
nubus
nvdimm libnvdimm/btt: fix variable 'rc' set but not used 2020-01-04 19:13:00 +01:00
nvme nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info 2020-02-19 19:51:57 +01:00
nvmem nvmem: imx-ocotp: Change TIMING calculation to u-boot algorithm 2020-01-27 14:50:58 +01:00
of of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc 2020-02-11 04:34:03 -08:00
opp OPP: Fix missing debugfs supply directory for OPPs 2020-01-27 14:50:04 +01:00
oprofile
parisc
parport parport: load lowlevel driver if ports not found 2019-12-31 16:36:01 +01:00
pci PCI: Don't disable bridge BARs when assigning bus resources 2020-02-14 16:33:23 -05:00
pcmcia
perf
phy phy: qualcomm: Adjust indentation in read_poll_timeout 2020-02-11 04:34:12 -08:00
pinctrl pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins 2020-02-24 08:34:36 +01:00
platform platform/x86: intel_mid_powerbtn: Take a copy of ddata 2020-02-14 16:33:25 -05:00
pnp
power power: supply: ltc2941-battery-gauge: fix use-after-free 2020-02-11 04:34:02 -08:00
powercap
pps
ps3
ptp ptp: free ptp device pin descriptors properly 2020-01-23 08:21:35 +01:00
pwm pwm: omap-dmtimer: Simplify error handling 2020-02-24 08:34:38 +01:00
rapidio drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen() 2020-01-27 14:50:31 +01:00
ras
regulator regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB 2020-01-27 14:50:33 +01:00
remoteproc remoteproc: qcom: q6v5-mss: Add missing regulator for MSM8996 2020-01-27 14:50:10 +01:00
reset reset: Fix memory leak in reset_control_array_put() 2019-12-05 09:19:36 +01:00
rpmsg rpmsg: glink: Free pending deferred work on remove 2019-12-21 10:57:30 +01:00
rtc rtc: cmos: Stop using shared IRQ 2020-02-14 16:33:24 -05:00
s390 s390/qeth: Fix initialization of vnicc cmd masks during set online 2020-01-27 14:51:18 +01:00
sbus
scsi scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state 2020-02-14 16:33:28 -05:00
sfi
sh
siox
slimbus slimbus: ngd: Fix build error on x86 2019-12-13 08:51:54 +01:00
sn
soc soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot 2020-02-05 14:43:41 +00:00
soundwire soundwire: intel: fix PDI/stream mapping for Bulk 2019-12-31 16:35:55 +01:00
spi spi: spi-mem: Fix inverted logic in op sanity check 2020-02-14 16:33:24 -05:00
spmi
ssb
staging staging: vt6656: Fix false Tx excessive retries reporting. 2020-02-01 09:37:03 +00:00
target scsi: RDMA/isert: Fix a recently introduced regression related to logout 2020-01-29 16:43:21 +01:00
tc
tee tee: optee: Fix compilation issue with nommu 2020-02-05 14:43:50 +00:00
thermal thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power 2020-01-27 14:50:48 +01:00
thunderbolt thunderbolt: Power cycle the router if NVM authentication fails 2019-12-05 09:21:27 +01:00
tty serial: uartps: Move the spinlock after the read of the tx empty 2020-02-14 16:33:28 -05:00
uio uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() 2020-02-24 08:34:37 +01:00
usb usb: dwc2: Fix IN FIFO allocation 2020-02-24 08:34:37 +01:00
uwb
vfio vfio/mdev: Fix aborting mdev child device removal if one fails 2020-01-27 14:50:46 +01:00
vhost vhost/test: stop device before reset 2020-01-27 14:51:19 +01:00
video pxa168fb: Fix the function used to release some memory in an error handling path 2020-02-24 08:34:36 +01:00
virt
virtio virtio-balloon: fix managed page counts when migrating pages between zones 2019-12-17 20:34:43 +01:00
visorbus
vlynq
vme
w1 w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size). 2019-12-01 09:16:22 +01:00
watchdog watchdog: fix UAF in reboot notifier handling in watchdog core code 2020-02-11 04:34:08 -08:00
xen xen/balloon: Support xend-based toolstack take two 2020-02-11 04:34:08 -08:00
zorro
Kconfig
Makefile