linux/drivers
Xie Yongji cddce01160 nbd: Aovid double completion of a request
There is a race between iterating over requests in
nbd_clear_que() and completing requests in recv_work(),
which can lead to double completion of a request.

To fix it, flush the recv worker before iterating over
the requests and don't abort the completed request
while iterating.

Fixes: 96d97e1782 ("nbd: clear_sock on netlink disconnect")
Reported-by: Jiang Yadong <jiangyadong@bytedance.com>
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/r/20210813151330.96-1-xieyongji@bytedance.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-08-13 09:46:48 -06:00
..
accessibility braille_console: Fix fall-through warnings for Clang 2021-05-17 19:38:01 -05:00
acpi for-5.14/drivers-2021-06-29 2021-06-30 12:21:16 -07:00
amba
android binder: Return EFAULT if we fail BINDER_ENABLE_ONEWAY_SPAM_DETECTION 2021-05-13 20:35:26 +02:00
ata ata: rb532_cf: remove redundant codes 2021-06-24 18:49:01 -06:00
atm atm: fore200e: Fix fall-through warnings for Clang 2021-05-17 18:50:49 -05:00
auxdisplay treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
base Merge branch 'akpm' (patches from Andrew) 2021-06-29 17:29:11 -07:00
bcma
block nbd: Aovid double completion of a request 2021-08-13 09:46:48 -06:00
bluetooth Networking fixes for 5.13-rc5, including fixes from bpf, wireless, 2021-06-04 18:25:39 -07:00
bus Char/Misc driver fixes for 5.13-rc6 2021-06-12 12:13:55 -07:00
cdrom block: remove REQ_OP_SCSI_{IN,OUT} 2021-06-30 15:34:19 -06:00
char Merge tag 'tpmdd-next-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd 2021-06-30 11:23:33 -07:00
clk clk: Skip clk provider registration when np is NULL 2021-05-11 08:47:25 +02:00
clocksource clocksource/drivers/timer-ti-dm: Drop unnecessary restore 2021-06-16 17:33:04 +02:00
comedi
connector
counter
cpufreq cpufreq: Make cpufreq_online() call driver->offline() on errors 2021-06-23 19:40:56 +02:00
cpuidle Power management updates for 5.14-rc1 2021-06-29 13:36:06 -07:00
crypto crypto: sl3516 - depends on HAS_IOMEM 2021-06-24 14:57:28 +08:00
cxl
dax fs: remove noop_set_page_dirty() 2021-06-29 10:53:48 -07:00
dca
devfreq PM / devfreq: passive: Fix get_target_freq when not using required-opp 2021-06-24 10:37:35 +09:00
dio
dma dmaengine fixes for v5.13 2021-06-16 09:03:52 -07:00
dma-buf dma-buf: fix unintended pin/unpin warnings 2021-05-20 14:02:27 +02:00
edac Various fixes and support for new CPUS 2021-06-30 11:27:49 -07:00
eisa
extcon extcon: extcon-max8997: Simplify driver using devm 2021-06-17 13:22:27 +02:00
firewire firewire: core: Fix fall-through warnings for Clang 2021-05-17 19:40:32 -05:00
firmware arm64 updates for 5.14 2021-06-28 14:04:24 -07:00
fpga
fsi
gnss
gpio platform-drivers-x86 for v5.14-1 2021-06-30 11:15:39 -07:00
gpu Merge branch 'akpm' (patches from Andrew) 2021-06-29 17:29:11 -07:00
greybus
hid Merge branch 'for-5.14/multitouch' into for-linus 2021-06-30 09:15:15 +02:00
hsi
hv hyperv-next for 5.14 2021-06-29 11:21:35 -07:00
hwmon fallthrough fixes for Clang for 5.14-rc1 2021-06-28 20:03:38 -07:00
hwspinlock
hwtracing
i2c ACPI updates for 5.14-rc1 2021-06-29 13:39:41 -07:00
i3c
idle intel_idle: Adjust the SKX C6 parameters if PC6 is disabled 2021-06-09 17:51:07 +02:00
iio iio: adc: ad7793: Add missing error code in ad7793_setup() 2021-05-22 08:32:36 +01:00
infiniband IB/mlx5: Fix initializing CQ fragments buffer 2021-06-10 08:59:34 -03:00
input platform-drivers-x86 for v5.14-1 2021-06-30 11:15:39 -07:00
interconnect interconnect: qcom: Add missing MODULE_DEVICE_TABLE 2021-05-11 07:26:31 +03:00
iommu iommu/vt-d: Fix sysfs leak in alloc_iommu() 2021-05-27 16:07:08 +02:00
ipack
irqchip Updates for the interrupt subsystem: 2021-06-29 12:25:04 -07:00
isdn Networking fixes for 5.13-rc4, including fixes from bpf, netfilter, 2021-05-26 17:44:49 -10:00
leds leds: lp5523: check return value of lp5xx_read and jump to cleanup code 2021-05-13 17:30:15 +02:00
lightnvm lightnvm: convert to blk_alloc_disk/blk_cleanup_disk 2021-06-01 07:42:23 -06:00
macintosh
mailbox mbox: add polarfire soc system controller mailbox 2021-06-26 12:06:48 -05:00
mcb
md Merge branch 'md-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into block-5.14 2021-08-04 15:49:57 -06:00
media Merge branch 'akpm' (patches from Andrew) 2021-06-29 17:29:11 -07:00
memory
memstick for-5.14/block-2021-06-29 2021-06-30 12:12:56 -07:00
message
mfd platform-drivers-x86 for v5.14-1 2021-06-30 11:15:39 -07:00
misc Merge branch 'akpm' (patches from Andrew) 2021-06-29 17:29:11 -07:00
mmc mmc: initialized disk->minors 2021-06-30 15:34:04 -06:00
most
mtd for-5.14/block-2021-06-29 2021-06-30 12:12:56 -07:00
mux
net hyperv-next for 5.14 2021-06-29 11:21:35 -07:00
nfc NFC: nfcmrvl: fix kernel-doc syntax in file headers 2021-05-23 17:26:38 -07:00
ntb
nubus
nvdimm libnvdimm/pmem: Fix blk_cleanup_disk() usage 2021-06-09 09:09:22 -06:00
nvme nvme: set the PRACT bit when using Write Zeroes with T10 PI 2021-07-21 17:24:10 +02:00
nvmem
of
opp opp: Allow required-opps to be used for non genpd use cases 2021-06-18 09:00:55 +05:30
parisc
parport treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
pci hyperv-next for 5.14 2021-06-29 11:21:35 -07:00
pcmcia
perf drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() 2021-06-17 19:45:24 +01:00
phy phy: Sparx5 Eth SerDes: check return value after calling platform_get_resource() 2021-06-03 11:18:19 +05:30
pinctrl pinctrl: stm32: fix the reported number of GPIO lines per bank 2021-06-18 14:56:54 +02:00
platform Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid 2021-06-30 11:31:32 -07:00
pnp PNP: pnpbios: Use list_for_each_entry() instead of list_for_each() 2021-06-09 15:04:30 +02:00
power
powercap
pps
ps3
ptp ptp: improve max_adj check against unreasonable values 2021-06-15 10:59:46 -07:00
pwm
rapidio rapidio: handle create_workqueue() failure 2021-05-13 18:32:19 +02:00
ras
regulator Merge remote-tracking branch 'regulator/for-5.14' into regulator-next 2021-06-23 16:56:31 +01:00
remoteproc
reset pci-v5.13-changes 2021-05-05 13:24:11 -07:00
rpmsg
rtc rtc: mt6397: refine RTC_TC_MTH 2021-06-01 16:44:09 +01:00
s390 s390/dasd: fix use after free in dasd path handling 2021-08-04 09:20:11 -06:00
sbus
scsi block: remove REQ_OP_SCSI_{IN,OUT} 2021-06-30 15:34:19 -06:00
sh
siox
slimbus
soc Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2021-06-28 16:04:56 -07:00
soundwire soundwire: qcom: fix handling of qcom,ports-block-pack-mode 2021-05-13 11:14:13 +05:30
spi Merge remote-tracking branch 'spi/for-5.14' into spi-next 2021-06-25 14:08:26 +01:00
spmi
ssb
staging Updates for the interrupt subsystem: 2021-06-29 12:25:04 -07:00
target block: remove REQ_OP_SCSI_{IN,OUT} 2021-06-30 15:34:19 -06:00
tc
tee fallthrough fixes for Clang for 5.14-rc1 2021-06-28 20:03:38 -07:00
thermal Scheduler udpates for this cycle: 2021-06-28 12:14:19 -07:00
thunderbolt thunderbolt: usb4: Fix NVM read buffer bounds and offset issue 2021-05-20 11:52:58 +03:00
tty serial: 8250_exar: Avoid NULL pointer dereference at ->exit() 2021-06-09 14:40:48 +02:00
uio uio_hv_generic: Fix another memory leak in error handling paths 2021-05-14 13:26:04 +02:00
usb printk changes for 5.14 2021-06-29 12:07:18 -07:00
vdpa {net,vdpa}/mlx5: Configure interface MAC into mpfs L2 table 2021-05-18 23:01:48 -07:00
vfio vfio: use vma_lookup() instead of find_vma_intersection() 2021-06-29 10:53:51 -07:00
vhost virtio,vhost,vdpa: features, fixes 2021-05-05 13:31:39 -07:00
video Revert "fb_defio: Remove custom address_space_operations" 2021-06-01 17:38:40 +02:00
virt
virtio virtio_balloon: specify page reporting order if needed 2021-06-29 10:53:47 -07:00
visorbus
vlynq
vme
w1
watchdog Updates for the interrupt subsystem: 2021-06-29 12:25:04 -07:00
xen xen/events: reset active flag for lateeoi events later 2021-06-24 12:52:36 +02:00
zorro
Kconfig ide: remove the legacy ide driver 2021-06-16 08:53:58 -06:00
Makefile hyperv-next for 5.14 2021-06-29 11:21:35 -07:00