mirror of
https://github.com/torvalds/linux.git
synced 2026-03-14 00:56:20 +01:00
Four smb client fixes
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmkWkY0ACgkQiiy9cAdy T1G4wAv/a9spGaseju5kVItQP1TekddFrSN09kbBCW5Yr6RYrlXrvlZKVA5RI/4j AsJmoY7Fbve3m2IdW+Ctc6sdDdPdSHc+dhBilrFwTmsXqkpbvrL+Bmn2b2pq44pC smOP+8ebcK9TLYQ+cBChyAQm/v6/abx6C2XnXpLMOEw1ocDBMAvjZneOEXwBXTA9 bDUeqg03VkBrrBn8SM2yIFsheU1HUx6BMgxYhWFf1RTHERWyI1RVFJWsOHn3uHpf v2YBg3C0wsnmknpQwnO/2BTEWfXWP7/WdntdEdRBmRvxZfNnuJ3JID88oyv6GylJ 9Wta8L9R1ekHslY07FyO9j/LY9VVQlnD/wxD3ReqGxNJA8ylfFwH/XaFw+YamGU9 Zc1tRxVZVkllIQhHimIHyw949Ujrzzv9GkYBDJac5rEXzbV/ojAyhGwhdyfD6azL kZ2c7fY7DN6hKjPTAz+OZOXrde3A9wp5rqDHQNiUgbAdbvkPqvQH3zUQKLN61jcr SVTmNqvf =BOX2 -----END PGP SIGNATURE----- Merge tag 'v6.18-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 Pull smb client fixes from Steve French: - Multichannel reconnect channel selection fix - Fix for smbdirect (RDMA) disconnect bug - Fix for incorrect username length check - Fix memory leak in mount parm processing * tag 'v6.18-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6: smb: client: let smbd_disconnect_rdma_connection() turn CREATED into DISCONNECTED smb: fix invalid username check in smb3_fs_context_parse_param() cifs: client: fix memory leak in smb3_fs_context_parse_param smb: client: fix cifs_pick_channel when channel needs reconnect
This commit is contained in:
commit
95baf63fe8
3 changed files with 7 additions and 2 deletions
|
|
@ -1435,12 +1435,14 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
|
|||
cifs_errorf(fc, "Unknown error parsing devname\n");
|
||||
goto cifs_parse_mount_err;
|
||||
}
|
||||
kfree(ctx->source);
|
||||
ctx->source = smb3_fs_context_fullpath(ctx, '/');
|
||||
if (IS_ERR(ctx->source)) {
|
||||
ctx->source = NULL;
|
||||
cifs_errorf(fc, "OOM when copying UNC string\n");
|
||||
goto cifs_parse_mount_err;
|
||||
}
|
||||
kfree(fc->source);
|
||||
fc->source = kstrdup(ctx->source, GFP_KERNEL);
|
||||
if (fc->source == NULL) {
|
||||
cifs_errorf(fc, "OOM when copying UNC string\n");
|
||||
|
|
@ -1468,7 +1470,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
|
|||
break;
|
||||
}
|
||||
|
||||
if (strnlen(param->string, CIFS_MAX_USERNAME_LEN) >
|
||||
if (strnlen(param->string, CIFS_MAX_USERNAME_LEN) ==
|
||||
CIFS_MAX_USERNAME_LEN) {
|
||||
pr_warn("username too long\n");
|
||||
goto cifs_parse_mount_err;
|
||||
|
|
|
|||
|
|
@ -290,6 +290,9 @@ static void smbd_disconnect_rdma_connection(struct smbdirect_socket *sc)
|
|||
break;
|
||||
|
||||
case SMBDIRECT_SOCKET_CREATED:
|
||||
sc->status = SMBDIRECT_SOCKET_DISCONNECTED;
|
||||
break;
|
||||
|
||||
case SMBDIRECT_SOCKET_CONNECTED:
|
||||
sc->status = SMBDIRECT_SOCKET_ERROR;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -830,7 +830,7 @@ struct TCP_Server_Info *cifs_pick_channel(struct cifs_ses *ses)
|
|||
if (!server || server->terminate)
|
||||
continue;
|
||||
|
||||
if (CIFS_CHAN_NEEDS_RECONNECT(ses, i))
|
||||
if (CIFS_CHAN_NEEDS_RECONNECT(ses, cur))
|
||||
continue;
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue