net/smc/af_smc.c | 1 + 1 file changed, 1 insertion(+)
From: liuyacan <liuyacan@corp.netease.com>
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 and register rmb, but the latter may fail. In this case,
the pointer should be reset.
Fixes: e49300a6bf62 ("net/smc: add listen processing for SMC-Rv2")
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
---
net/smc/af_smc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index 45a24d242..540b32d86 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -2136,6 +2136,7 @@ static void smc_find_rdma_v2_device_serv(struct smc_sock *new_smc,
not_found:
ini->smcr_version &= ~SMC_V2;
+ ini->smcrv2.ib_dev_v2 = NULL;
ini->check_smcrv2 = false;
}
--
2.20.1
Hello:
This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 25 May 2022 16:54:08 +0800 you wrote:
> From: liuyacan <liuyacan@corp.netease.com>
>
> 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 and register rmb, but the latter may fail. In this case,
> the pointer should be reset.
>
> [...]
Here is the summary with links:
- [net] net/smc: set ini->smcrv2.ib_dev_v2 to NULL if SMC-Rv2 is unavailable
https://git.kernel.org/netdev/net/c/b3b1a17538d3
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
On 25/05/2022 10:54, liuyacan@corp.netease.com wrote:
> From: liuyacan <liuyacan@corp.netease.com>
>
> 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 and register rmb, but the latter may fail. In this case,
> the pointer should be reset.
>
> Fixes: e49300a6bf62 ("net/smc: add listen processing for SMC-Rv2")
> Signed-off-by: liuyacan <liuyacan@corp.netease.com>
> ---
> net/smc/af_smc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
> index 45a24d242..540b32d86 100644
> --- a/net/smc/af_smc.c
> +++ b/net/smc/af_smc.c
> @@ -2136,6 +2136,7 @@ static void smc_find_rdma_v2_device_serv(struct smc_sock *new_smc,
>
> not_found:
> ini->smcr_version &= ~SMC_V2;
> + ini->smcrv2.ib_dev_v2 = NULL;
> ini->check_smcrv2 = false;
> }
>
Thank you!
Reviewed-by: Karsten Graul <kgraul@linux.ibm.com>
© 2016 - 2026 Red Hat, Inc.