android_kernel_xiaomi_sm7250/net/smc
D. Wythe 9b64b09282 net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
commit 4940a1fdf31c39f0806ac831cde333134862030b upstream.

The problem of SMC_CLC_DECL_ERR_REGRMB on the server is very clear.
Based on the fact that whether a new SMC connection can be accepted or
not depends on not only the limit of conn nums, but also the available
entries of rtoken. Since the rtoken release is trigger by peer, while
the conn nums is decrease by local, tons of thing can happen in this
time difference.

This only thing that needs to be mentioned is that now all connection
creations are completely protected by smc_server_lgr_pending lock, it's
enough to check only the available entries in rtokens_used_mask.

Fixes: cd6851f303 ("smc: remote memory buffers (RMBs)")
Signed-off-by: D. Wythe <alibuda@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-08 19:04:08 +01:00
..
af_smc.c net/smc: Don't call clcsock shutdown twice when smc shutdown 2021-12-01 09:27:43 +01:00
Kconfig
Makefile
smc_cdc.c
smc_cdc.h
smc_clc.c net/smc: add missing error check in smc_clc_prfx_set() 2021-10-06 15:31:13 +02:00
smc_clc.h
smc_close.c net/smc: Keep smc_close_final rc during active close 2021-12-08 08:50:14 +01:00
smc_close.h
smc_core.c net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server 2022-03-08 19:04:08 +01:00
smc_core.h
smc_diag.c net/smc: Prevent kernel-infoleak in __smc_diag_dump() 2020-09-03 11:24:17 +02:00
smc_ib.c net/smc: cancel event worker during device removal 2020-03-18 07:14:25 +01:00
smc_ib.h
smc_ism.c
smc_ism.h
smc_llc.c
smc_llc.h
smc_pnet.c
smc_pnet.h
smc_rx.c
smc_rx.h
smc_tx.c
smc_tx.h
smc_wr.c
smc_wr.h
smc.h