]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
smb: move some SMB1 definitions into common/smb1pdu.h
authorZhangGuoDong <zhangguodong@kylinos.cn>
Tue, 2 Dec 2025 07:14:17 +0000 (15:14 +0800)
committerSteve French <stfrench@microsoft.com>
Tue, 16 Dec 2025 23:43:01 +0000 (17:43 -0600)
These definitions are only used by SMB1, so move them into the new
common/smb1pdu.h.

KSMBD only implements SMB_COM_NEGOTIATE, see MS-SMB2 3.3.5.2.

Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifspdu.h
fs/smb/common/smb1pdu.h [new file with mode: 0644]
fs/smb/common/smb2pdu.h
fs/smb/common/smbglob.h
fs/smb/server/smb_common.h

index eeb4011cb217dfd8a7a6a33d9fd887ceb67ae295..fdd84369e7b8b738bd23ed40ea4e6ebd82b36e86 100644 (file)
@@ -12,7 +12,7 @@
 #include <net/sock.h>
 #include <linux/unaligned.h>
 #include "../common/smbfsctl.h"
-#include "../common/smb2pdu.h"
+#include "../common/smb1pdu.h"
 
 #define CIFS_PROT   0
 #define POSIX_PROT  (CIFS_PROT+1)
diff --git a/fs/smb/common/smb1pdu.h b/fs/smb/common/smb1pdu.h
new file mode 100644 (file)
index 0000000..df6d4e1
--- /dev/null
@@ -0,0 +1,56 @@
+/* SPDX-License-Identifier: LGPL-2.1 */
+/*
+ *
+ *   Copyright (C) International Business Machines  Corp., 2002,2009
+ *                 2018 Samsung Electronics Co., Ltd.
+ *   Author(s): Steve French <sfrench@us.ibm.com>
+ *              Namjae Jeon <linkinjeon@kernel.org>
+ *
+ */
+
+#ifndef _COMMON_SMB1_PDU_H
+#define _COMMON_SMB1_PDU_H
+
+#define SMB1_PROTO_NUMBER              cpu_to_le32(0x424d53ff)
+
+/*
+ * See MS-CIFS 2.2.3.1
+ *     MS-SMB 2.2.3.1
+ */
+struct smb_hdr {
+       __u8 Protocol[4];
+       __u8 Command;
+       union {
+               struct {
+                       __u8 ErrorClass;
+                       __u8 Reserved;
+                       __le16 Error;
+               } __packed DosError;
+               __le32 CifsError;
+       } __packed Status;
+       __u8 Flags;
+       __le16 Flags2;          /* note: le */
+       __le16 PidHigh;
+       union {
+               struct {
+                       __le32 SequenceNumber;  /* le */
+                       __u32 Reserved; /* zero */
+               } __packed Sequence;
+               __u8 SecuritySignature[8];      /* le */
+       } __packed Signature;
+       __u8 pad[2];
+       __u16 Tid;
+       __le16 Pid;
+       __u16 Uid;
+       __le16 Mid;
+       __u8 WordCount;
+} __packed;
+
+/* See MS-CIFS 2.2.4.52.1 */
+typedef struct smb_negotiate_req {
+       struct smb_hdr hdr;     /* wct = 0 */
+       __le16 ByteCount;
+       unsigned char DialectsArray[];
+} __packed SMB_NEGOTIATE_REQ;
+
+#endif /* _COMMON_SMB1_PDU_H */
index 95323df7274b6e6946b8ca024c40f0b27aa10c6a..f5ebbe31384aea9fb9f533a778adf39c5d49a749 100644 (file)
@@ -1986,39 +1986,6 @@ struct smb2_lease_ack {
        __le64 LeaseDuration;
 } __packed;
 
-/*
- * See MS-CIFS 2.2.3.1
- *     MS-SMB 2.2.3.1
- */
-struct smb_hdr {
-       __u8 Protocol[4];
-       __u8 Command;
-       union {
-               struct {
-                       __u8 ErrorClass;
-                       __u8 Reserved;
-                       __le16 Error;
-               } __packed DosError;
-               __le32 CifsError;
-       } __packed Status;
-       __u8 Flags;
-       __le16 Flags2;          /* note: le */
-       __le16 PidHigh;
-       union {
-               struct {
-                       __le32 SequenceNumber;  /* le */
-                       __u32 Reserved; /* zero */
-               } __packed Sequence;
-               __u8 SecuritySignature[8];      /* le */
-       } __packed Signature;
-       __u8 pad[2];
-       __u16 Tid;
-       __le16 Pid;
-       __u16 Uid;
-       __le16 Mid;
-       __u8 WordCount;
-} __packed;
-
 #define OP_BREAK_STRUCT_SIZE_20                24
 #define OP_BREAK_STRUCT_SIZE_21                36
 
@@ -2123,11 +2090,4 @@ struct smb_hdr {
 #define SET_MINIMUM_RIGHTS (FILE_READ_EA | FILE_READ_ATTRIBUTES \
                                | READ_CONTROL | SYNCHRONIZE)
 
-/* See MS-CIFS 2.2.4.52.1 */
-typedef struct smb_negotiate_req {
-       struct smb_hdr hdr;     /* wct = 0 */
-       __le16 ByteCount;
-       unsigned char DialectsArray[];
-} __packed SMB_NEGOTIATE_REQ;
-
 #endif                         /* _COMMON_SMB2PDU_H */
index 9562845a561757c6173bac446a0d5a5c7c4eea45..4e33d91cdc9dbe6a5455a5a42435b38c51aead16 100644 (file)
@@ -11,8 +11,6 @@
 #ifndef _COMMON_SMB_GLOB_H
 #define _COMMON_SMB_GLOB_H
 
-#define SMB1_PROTO_NUMBER              cpu_to_le32(0x424d53ff)
-
 struct smb_version_values {
        char            *version_string;
        __u16           protocol_id;
index 067b45048c732bee9c221930e34330ca748bd8cb..95bf1465387b9f1d5aa768ffcd448cdb4229b2f3 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "glob.h"
 #include "../common/smbglob.h"
+#include "../common/smb1pdu.h"
 #include "../common/smb2pdu.h"
 #include "../common/fscc.h"
 #include "smb2pdu.h"