smb3: remove confusing dmesg when mounting with encryption ("seal")
authorSteve French <stfrench@microsoft.com>
Fri, 8 Nov 2019 07:01:35 +0000 (01:01 -0600)
committerSteve French <stfrench@microsoft.com>
Mon, 25 Nov 2019 07:14:53 +0000 (01:14 -0600)
The smb2/smb3 message checking code was logging to dmesg when mounting
with encryption ("seal") for compounded SMB3 requests.  When encrypted
the whole frame (including potentially multiple compounds) is read
so the length field is longer than in the case of non-encrypted
case (where length field will match the the calculated length for
the particular SMB3 request in the compound being validated).

Avoids the warning on mount (with "seal"):

   "srv rsp padded more than expected. Length 384 not ..."

Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2misc.c

index e311f58..713fecf 100644 (file)
@@ -249,16 +249,10 @@ smb2_check_message(char *buf, unsigned int len, struct TCP_Server_Info *srvr)
                 * of junk. Other servers match RFC1001 len to actual
                 * SMB2/SMB3 frame length (header + smb2 response specific data)
                 * Some windows servers also pad up to 8 bytes when compounding.
-                * If pad is longer than eight bytes, log the server behavior
-                * (once), since may indicate a problem but allow it and continue
-                * since the frame is parseable.
                 */
-               if (clc_len < len) {
-                       pr_warn_once(
-                            "srv rsp padded more than expected. Length %d not %d for cmd:%d mid:%llu\n",
-                            len, clc_len, command, mid);
+               if (clc_len < len)
                        return 0;
-               }
+
                pr_warn_once(
                        "srv rsp too short, len %d not %d. cmd:%d mid:%llu\n",
                        len, clc_len, command, mid);