SMB3.1.1: correct definition for app_instance_id create contexts
authorSteve French <stfrench@microsoft.com>
Sun, 30 Apr 2023 17:27:49 +0000 (12:27 -0500)
committerSteve French <stfrench@microsoft.com>
Tue, 2 May 2023 14:23:23 +0000 (09:23 -0500)
The name lengths were incorrect for two create contexts.
     SMB2_CREATE_APP_INSTANCE_ID
     SMB2_CREATE_APP_INSTANCE_VERSION

Update the definitions for these two to match the protocol specs.

Acked-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Reviewed-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/smb2pdu.h
fs/smbfs_common/smb2pdu.h

index 67dc552f2ef72d620dfa33a3b80e3333d2a97e62..aca9cfc73caa7f01eaa766d765141b3679e477a7 100644 (file)
@@ -81,22 +81,6 @@ struct create_durable_reconn_v2_req {
        __le32 Flags;
 } __packed;
 
-struct create_app_inst_id {
-       struct create_context ccontext;
-       __u8 Name[8];
-       __u8 Reserved[8];
-       __u8 AppInstanceId[16];
-} __packed;
-
-struct create_app_inst_id_vers {
-       struct create_context ccontext;
-       __u8 Name[8];
-       __u8 Reserved[2];
-       __u8 Padding[4];
-       __le64 AppInstanceVersionHigh;
-       __le64 AppInstanceVersionLow;
-} __packed;
-
 struct create_alloc_size_req {
        struct create_context ccontext;
        __u8   Name[8];
index 3b43a51e6f7e0338afa4edc765f719cf459ed4fe..bae590eec871f549288bdc8fb7e086dba4ce37aa 100644 (file)
@@ -1250,6 +1250,26 @@ struct create_disk_id_rsp {
        __u8  Reserved[16];
 } __packed;
 
+/* See MS-SMB2 2.2.13.2.13 */
+struct create_app_inst_id {
+       struct create_context ccontext;
+       __u8 Name[16];
+       __le32 StructureSize; /* Must be 20 */
+       __u16 Reserved;
+       __u8 AppInstanceId[16];
+} __packed;
+
+/* See MS-SMB2 2.2.13.2.15 */
+struct create_app_inst_id_vers {
+       struct create_context ccontext;
+       __u8 Name[16];
+       __le32 StructureSize; /* Must be 24 */
+       __u16 Reserved;
+       __u32 Padding;
+       __le64 AppInstanceVersionHigh;
+       __le64 AppInstanceVersionLow;
+} __packed;
+
 /* See MS-SMB2 2.2.31 and 2.2.32 */
 struct smb2_ioctl_req {
        struct smb2_hdr hdr;