aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/cifs/CHANGES3
-rw-r--r--fs/cifs/connect.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 70c90c07edf1..2459ef0a1396 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -10,7 +10,8 @@ opened, read and written as if they were files). When 1st tree
10connect fails (e.g. due to signing negotiation failure) fix 10connect fails (e.g. due to signing negotiation failure) fix
11leak that causes cifsd not to stop and rmmod to fail to cleanup 11leak that causes cifsd not to stop and rmmod to fail to cleanup
12cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on 12cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on
13bigendian architectures. 13bigendian architectures. Fix possible memory corruption when
14EAGAIN returned on kern_recvmsg.
14 15
15Version 1.50 16Version 1.50
16------------ 17------------
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 494455ed4352..676bbf2bb56d 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -415,7 +415,10 @@ incomplete_rcv:
415 msleep(1); /* minimum sleep to prevent looping 415 msleep(1); /* minimum sleep to prevent looping
416 allowing socket to clear and app threads to set 416 allowing socket to clear and app threads to set
417 tcpStatus CifsNeedReconnect if server hung */ 417 tcpStatus CifsNeedReconnect if server hung */
418 continue; 418 if (pdu_length < 4)
419 goto incomplete_rcv;
420 else
421 continue;
419 } else if (length <= 0) { 422 } else if (length <= 0) {
420 if (server->tcpStatus == CifsNew) { 423 if (server->tcpStatus == CifsNew) {
421 cFYI(1, ("tcp session abend after SMBnegprot")); 424 cFYI(1, ("tcp session abend after SMBnegprot"));
@@ -543,6 +546,7 @@ incomplete_rcv:
543 allowing socket to clear and app 546 allowing socket to clear and app
544 threads to set tcpStatus 547 threads to set tcpStatus
545 CifsNeedReconnect if server hung*/ 548 CifsNeedReconnect if server hung*/
549 length = 0;
546 continue; 550 continue;
547 } else if (length <= 0) { 551 } else if (length <= 0) {
548 cERROR(1, ("Received no data, expecting %d", 552 cERROR(1, ("Received no data, expecting %d",