Re: [PATCH][CIFS] fix incorrect size for query_on_disk_id

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As Paulo pointed out - size was not incorrect, just confusing when the
two structs (cifs and ksmbd)
differed.  I fixed the patch description.

On Fri, Apr 28, 2023 at 12:48 AM Steve French <smfrench@xxxxxxxxx> wrote:
>
> forgot to remove the old incorrect struct (now unused).  Patch fixed
> and reattached
>
> On Fri, Apr 28, 2023 at 12:24 AM Steve French <smfrench@xxxxxxxxx> wrote:
> >
> > We were assuming the wrong size for the struct, use the ksmbd
> >     version of this struct and move it to common code.
> >
> >
> >
> > --
> > Thanks,
> >
> > Steve
>
>
>
> --
> Thanks,
>
> Steve



-- 
Thanks,

Steve
From f84be398fe83b79aa6c50a6c469cb25fe2562e97 Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@xxxxxxxxxxxxx>
Date: Fri, 28 Apr 2023 00:41:58 -0500
Subject: [PATCH] smb3: move some common open context structs to smbfs_common

create durable and create durable reconnect context and the maximal
access create context struct definitions can be put in common code in
smbfs_common

Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx>
---
 fs/cifs/smb2pdu.h         | 11 -----------
 fs/ksmbd/smb2pdu.h        | 25 -------------------------
 fs/smbfs_common/smb2pdu.h | 28 ++++++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 36 deletions(-)

diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h
index efe55a572e4c..220994d0a0f7 100644
--- a/fs/cifs/smb2pdu.h
+++ b/fs/cifs/smb2pdu.h
@@ -132,17 +132,6 @@ struct share_redirect_error_context_rsp {
 #define SMB2_LEASE_HANDLE_CACHING_HE	0x02
 #define SMB2_LEASE_WRITE_CACHING_HE	0x04
 
-struct create_durable {
-	struct create_context ccontext;
-	__u8   Name[8];
-	union {
-		__u8  Reserved[16];
-		struct {
-			__u64 PersistentFileId;
-			__u64 VolatileFileId;
-		} Fid;
-	} Data;
-} __packed;
 
 /* See MS-SMB2 2.2.13.2.11 */
 /* Flags */
diff --git a/fs/ksmbd/smb2pdu.h b/fs/ksmbd/smb2pdu.h
index bcf71fd4dc1e..67dc552f2ef7 100644
--- a/fs/ksmbd/smb2pdu.h
+++ b/fs/ksmbd/smb2pdu.h
@@ -70,18 +70,6 @@ struct create_durable_req_v2 {
 	__u8 CreateGuid[16];
 } __packed;
 
-struct create_durable_reconn_req {
-	struct create_context ccontext;
-	__u8   Name[8];
-	union {
-		__u8  Reserved[16];
-		struct {
-			__u64 PersistentFileId;
-			__u64 VolatileFileId;
-		} Fid;
-	} Data;
-} __packed;
-
 struct create_durable_reconn_v2_req {
 	struct create_context ccontext;
 	__u8   Name[8];
@@ -109,12 +97,6 @@ struct create_app_inst_id_vers {
 	__le64 AppInstanceVersionLow;
 } __packed;
 
-struct create_mxac_req {
-	struct create_context ccontext;
-	__u8   Name[8];
-	__le64 Timestamp;
-} __packed;
-
 struct create_alloc_size_req {
 	struct create_context ccontext;
 	__u8   Name[8];
@@ -137,13 +119,6 @@ struct create_durable_v2_rsp {
 	__le32 Flags;
 } __packed;
 
-struct create_mxac_rsp {
-	struct create_context ccontext;
-	__u8   Name[8];
-	__le32 QueryStatus;
-	__le32 MaximalAccess;
-} __packed;
-
 /* equivalent of the contents of SMB3.1.1 POSIX open context response */
 struct create_posix_rsp {
 	struct create_context ccontext;
diff --git a/fs/smbfs_common/smb2pdu.h b/fs/smbfs_common/smb2pdu.h
index 43c92e898ee9..3b43a51e6f7e 100644
--- a/fs/smbfs_common/smb2pdu.h
+++ b/fs/smbfs_common/smb2pdu.h
@@ -1172,6 +1172,34 @@ struct create_posix {
 	__u32   Reserved;
 } __packed;
 
+/* See MS-SMB2 2.2.13.2.3 and MS-SMB2 2.2.13.2.4 */
+struct create_durable {
+	struct create_context ccontext;
+	__u8   Name[8];
+	union {
+		__u8  Reserved[16];
+		struct {
+			__u64 PersistentFileId;
+			__u64 VolatileFileId;
+		} Fid;
+	} Data;
+} __packed;
+
+/* See MS-SMB2 2.2.13.2.5 */
+struct create_mxac_req {
+	struct create_context ccontext;
+	__u8   Name[8];
+	__le64 Timestamp;
+} __packed;
+
+/* See MS-SMB2 2.2.14.2.5 */
+struct create_mxac_rsp {
+	struct create_context ccontext;
+	__u8   Name[8];
+	__le32 QueryStatus;
+	__le32 MaximalAccess;
+} __packed;
+
 #define SMB2_LEASE_NONE_LE			cpu_to_le32(0x00)
 #define SMB2_LEASE_READ_CACHING_LE		cpu_to_le32(0x01)
 #define SMB2_LEASE_HANDLE_CACHING_LE		cpu_to_le32(0x02)
-- 
2.34.1


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux