2017-06-11 07:13:23

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] CIFS: Fix some return values in case of error in 'crypt_message'

'rc' is known to be 0 at this point. So if 'init_sg' or 'kzalloc' fails, we
should return -ENOMEM instead.

Also remove a useless 'rc' in a debug message as it is meaningless here.

Fixes: 026e93dc0a3ee ("CIFS: Encrypt SMB3 requests before sending")
Signed-off-by: Christophe JAILLET <[email protected]>
---
fs/cifs/smb2ops.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index c58691834eb2..cdcb3d95add8 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -1809,7 +1809,8 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)

sg = init_sg(rqst, sign);
if (!sg) {
- cifs_dbg(VFS, "%s: Failed to init sg %d", __func__, rc);
+ cifs_dbg(VFS, "%s: Failed to init sg", __func__);
+ rc = -ENOMEM;
goto free_req;
}

@@ -1817,6 +1818,7 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)
iv = kzalloc(iv_len, GFP_KERNEL);
if (!iv) {
cifs_dbg(VFS, "%s: Failed to alloc IV", __func__);
+ rc = -ENOMEM;
goto free_sg;
}
iv[0] = 3;
--
2.11.0


2017-06-12 16:16:16

by Aurélien Aptel

[permalink] [raw]
Subject: Re: [PATCH] CIFS: Fix some return values in case of error in 'crypt_message'

Looks good to me.

--
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3
SUSE Linux GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)

2017-06-12 23:12:22

by Pavel Shilovskiy

[permalink] [raw]
Subject: RE: [PATCH] CIFS: Fix some return values in case of error in 'crypt_message'

2017-06-11 0:12 GMT-07:00 Christophe JAILLET <[email protected]>:
> 'rc' is known to be 0 at this point. So if 'init_sg' or 'kzalloc' fails, we
> should return -ENOMEM instead.
>
> Also remove a useless 'rc' in a debug message as it is meaningless here.
>
> Fixes: 026e93dc0a3ee ("CIFS: Encrypt SMB3 requests before sending")
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> fs/cifs/smb2ops.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
> index c58691834eb2..cdcb3d95add8 100644
> --- a/fs/cifs/smb2ops.c
> +++ b/fs/cifs/smb2ops.c
> @@ -1809,7 +1809,8 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)
>
> sg = init_sg(rqst, sign);
> if (!sg) {
> - cifs_dbg(VFS, "%s: Failed to init sg %d", __func__, rc);
> + cifs_dbg(VFS, "%s: Failed to init sg", __func__);
> + rc = -ENOMEM;
> goto free_req;
> }
>
> @@ -1817,6 +1818,7 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)
> iv = kzalloc(iv_len, GFP_KERNEL);
> if (!iv) {
> cifs_dbg(VFS, "%s: Failed to alloc IV", __func__);
> + rc = -ENOMEM;
> goto free_sg;
> }
> iv[0] = 3;
> --
> 2.11.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

Thanks for catching this.

Reviewed-by: Pavel Shilovsky <[email protected]>

--
Best regards,
Pavel Shilovsky

2017-06-21 17:02:03

by Steve French

[permalink] [raw]
Subject: Re: [PATCH] CIFS: Fix some return values in case of error in 'crypt_message'

merged into cifs-2.6.git for-next

On Sun, Jun 11, 2017 at 2:12 AM, Christophe JAILLET
<[email protected]> wrote:
> 'rc' is known to be 0 at this point. So if 'init_sg' or 'kzalloc' fails, we
> should return -ENOMEM instead.
>
> Also remove a useless 'rc' in a debug message as it is meaningless here.
>
> Fixes: 026e93dc0a3ee ("CIFS: Encrypt SMB3 requests before sending")
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> fs/cifs/smb2ops.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
> index c58691834eb2..cdcb3d95add8 100644
> --- a/fs/cifs/smb2ops.c
> +++ b/fs/cifs/smb2ops.c
> @@ -1809,7 +1809,8 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)
>
> sg = init_sg(rqst, sign);
> if (!sg) {
> - cifs_dbg(VFS, "%s: Failed to init sg %d", __func__, rc);
> + cifs_dbg(VFS, "%s: Failed to init sg", __func__);
> + rc = -ENOMEM;
> goto free_req;
> }
>
> @@ -1817,6 +1818,7 @@ crypt_message(struct TCP_Server_Info *server, struct smb_rqst *rqst, int enc)
> iv = kzalloc(iv_len, GFP_KERNEL);
> if (!iv) {
> cifs_dbg(VFS, "%s: Failed to alloc IV", __func__);
> + rc = -ENOMEM;
> goto free_sg;
> }
> iv[0] = 3;
> --
> 2.11.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Thanks,

Steve