cifs: Fix lost destroy smbd connection when MR allocate failed
[ Upstream commit e9d3401d95d62a9531082cd2453ed42f2740e3fd ]
If the MR allocate failed, the smb direct connection info is NULL,
then smbd_destroy() will directly return, then the connection info
will be leaked.
Let's set the smb direct connection info to the server before call
smbd_destroy().
Fixes: c739858334
("CIFS: SMBD: Implement RDMA memory registration")
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Acked-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: David Howells <dhowells@redhat.com>
Reviewed-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a22f1ecab6
commit
324c0c34ff
@ -1784,6 +1784,7 @@ static struct smbd_connection *_smbd_get_connection(
|
|||||||
|
|
||||||
allocate_mr_failed:
|
allocate_mr_failed:
|
||||||
/* At this point, need to a full transport shutdown */
|
/* At this point, need to a full transport shutdown */
|
||||||
|
server->smbd_conn = info;
|
||||||
smbd_destroy(server);
|
smbd_destroy(server);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user