linux/net/smc
Karsten Graul 63673597cc net/smc: protect smc ib device initialization
Before an smc ib device is used the first time for an smc link it is
lazily initialized. When there are 2 active link groups and a new ib
device is brought online then it might happen that 2 link creations run
in parallel and enter smc_ib_setup_per_ibdev(). Both allocate new send
and receive completion queues on the device, but only one set of them
keeps assigned and the other leaks.
Fix that by protecting the setup and cleanup code using a mutex.

Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
Fixes: f3c1deddb2 ("net/smc: separate function for link initialization")
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-19 15:30:22 -07:00
..
af_smc.c net/smc: fix link lookup for new rdma connections 2020-07-19 15:30:22 -07:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
smc_cdc.c net/smc: pre-fetch send buffer outside of send_lock 2020-05-30 18:12:25 -07:00
smc_cdc.h net/smc: pre-fetch send buffer outside of send_lock 2020-05-30 18:12:25 -07:00
smc_clc.c net/smc: tolerate future SMCD versions 2020-07-08 12:35:15 -07:00
smc_clc.h net/smc: tolerate future SMCD versions 2020-07-08 12:35:15 -07:00
smc_close.c net/smc: remove unused constant 2019-11-16 12:26:49 -08:00
smc_close.h net/smc: remove close abort worker 2019-10-22 11:23:44 -07:00
smc_core.c net/smc: clear link during SMC client link down processing 2020-07-19 15:30:22 -07:00
smc_core.h net/smc: separate LLC wait queues for flow and messages 2020-07-08 12:35:15 -07:00
smc_diag.c net/smc: fix leak of kernel memory to user space 2020-02-11 17:04:42 -08:00
smc_ib.c net/smc: protect smc ib device initialization 2020-07-19 15:30:22 -07:00
smc_ib.h net/smc: protect smc ib device initialization 2020-07-19 15:30:22 -07:00
smc_ism.c net/smc: switch smcd_dev_list spinlock to mutex 2020-07-08 12:35:15 -07:00
smc_ism.h net/smc: switch smcd_dev_list spinlock to mutex 2020-07-08 12:35:15 -07:00
smc_llc.c net/smc: handle unexpected response types for confirm link 2020-07-19 15:30:22 -07:00
smc_llc.h net/smc: log important pnetid and state change events 2020-05-05 12:56:52 -07:00
smc_netns.h net/smc: add pnet table namespace support 2019-02-21 10:34:37 -08:00
smc_pnet.c net/smc: switch smcd_dev_list spinlock to mutex 2020-07-08 12:35:15 -07:00
smc_pnet.h net/smc: introduce smc_pnet_find_alt_roce() 2020-05-01 16:20:05 -07:00
smc_rx.c fs: make the pipe_buf_operations ->confirm operation optional 2020-05-20 12:11:26 -04:00
smc_rx.h smc: add support for splice() 2018-05-04 11:45:06 -04:00
smc_tx.c net/smc: switch connections to alternate link 2020-05-04 10:54:39 -07:00
smc_tx.h net/smc: eliminate cursor read and write calls 2018-07-23 10:57:14 -07:00
smc_wr.c net/smc: fix work request handling 2020-07-08 12:35:15 -07:00
smc_wr.h net/smc: wait for departure of an IB message 2020-05-04 10:54:39 -07:00
smc.h net/smc: handle incoming CDC validation message 2020-05-04 10:54:39 -07:00