SMB3: Fix persistent handles reconnect 5.4-rc7-smb3-fix
authorPavel Shilovsky <pshilov@microsoft.com>
Wed, 6 Nov 2019 21:58:15 +0000 (13:58 -0800)
committerSteve French <stfrench@microsoft.com>
Thu, 7 Nov 2019 03:32:18 +0000 (21:32 -0600)
When the client hits a network reconnect, it re-opens every open
file with a create context to reconnect a persistent handle. All
create context types should be 8-bytes aligned but the padding
was missed for that one. As a result, some servers don't allow
us to reconnect handles and return an error. The problem occurs
when the problematic context is not at the end of the create
request packet. Fix this by adding a proper padding at the end
of the reconnect persistent handle context.

Cc: Stable <stable@vger.kernel.org> # 4.19.x
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2pdu.h

index ea735d59c36e106e7f8ada92486941948eaa9528..0abfde6d0b0511e26484c19a359cfe52c346bd93 100644 (file)
@@ -838,6 +838,7 @@ struct create_durable_handle_reconnect_v2 {
        struct create_context ccontext;
        __u8   Name[8];
        struct durable_reconnect_context_v2 dcontext;
+       __u8   Pad[4];
 } __packed;
 
 /* See MS-SMB2 2.2.13.2.5 */