summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilov@microsoft.com>2019-01-03 16:45:13 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-16 22:04:30 +0100
commitc3606c64678369dc108f397109569cfa0ce0c101 (patch)
treed848e785e08127d357e83e6867c1e50843c0fcf5
parentd1130682d1270495f49282535854221bbdf20638 (diff)
downloadlinux-stable-c3606c64678369dc108f397109569cfa0ce0c101.tar.gz
linux-stable-c3606c64678369dc108f397109569cfa0ce0c101.tar.bz2
linux-stable-c3606c64678369dc108f397109569cfa0ce0c101.zip
CIFS: Do not set credits to 1 if the server didn't grant anything
commit 33fa5c8b8a7dbe6353a56eaa654b790348890d42 upstream. Currently we reset the number of total credits granted by the server to 1 if the server didn't grant us anything int the response. This violates the SMB3 protocol - we need to trust the server and use the credit values from the response. Fix this by removing the corresponding code. Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> CC: Stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/cifs/transport.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index 333729cf46cd..a610381f8140 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -885,8 +885,6 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
for (i = 0; i < num_rqst; i++)
if (midQ[i]->resp_buf)
credits += ses->server->ops->get_credits(midQ[i]);
- if (!credits)
- credits = 1;
for (i = 0; i < num_rqst; i++) {
if (rc < 0)