]> git.baikalelectronics.ru Git - kernel.git/commit
net/smc: fix listen processing for SMC-Rv2
authorliuyacan <liuyacan@corp.netease.com>
Mon, 23 May 2022 05:50:56 +0000 (13:50 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 May 2022 09:08:33 +0000 (10:08 +0100)
commitc180766e2fb597f9fddda2ed049ce00c61b7c284
tree55c13be43e0d6a09c50090d516f251f99cdbbfa6
parent7600abf5252bd53827a765864b7b0dc0910c7934
net/smc: fix listen processing for SMC-Rv2

In the process of checking whether RDMAv2 is available, the current
implementation first sets ini->smcrv2.ib_dev_v2, and then allocates
smc buf desc, but the latter may fail. Unfortunately, the caller
will only check the former. In this case, a NULL pointer reference
will occur in smc_clc_send_confirm_accept() when accessing
conn->rmb_desc.

This patch does two things:
1. Use the return code to determine whether V2 is available.
2. If the return code is NODEV, continue to check whether V1 is
available.

Fixes: bf906f72e99a ("net/smc: add listen processing for SMC-Rv2")
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c