CIFS: set *resp_buf_type to NO_BUFFER on error
authorSteve French <smfrench@gmail.com>
Sun, 22 Apr 2018 15:24:19 +0000 (10:24 -0500)
committerSteve French <stfrench@microsoft.com>
Tue, 24 Apr 2018 15:06:28 +0000 (10:06 -0500)
Dan Carpenter had pointed this out a while ago, but the code around
this had changed so wasn't causing any problems since that field
was not used in this error path.

Still, it is cleaner to always initialize this field, so changing
the error path to set it.

Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
CC: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/transport.c

index 8f6f25918229d9aeb680173a87cf9d684d2eb5c8..3fb0e433b8e252207e9fea49e4f2e68f79359857 100644 (file)
@@ -834,8 +834,11 @@ SendReceive2(const unsigned int xid, struct cifs_ses *ses,
        if (n_vec + 1 > CIFS_MAX_IOV_SIZE) {
                new_iov = kmalloc(sizeof(struct kvec) * (n_vec + 1),
                                  GFP_KERNEL);
-               if (!new_iov)
+               if (!new_iov) {
+                       /* otherwise cifs_send_recv below sets resp_buf_type */
+                       *resp_buf_type = CIFS_NO_BUFFER;
                        return -ENOMEM;
+               }
        } else
                new_iov = s_iov;