All of lore.kernel.org
 help / color / mirror / Atom feed
From: chenxiaosong.chenxiaosong@linux.dev
To: stfrench@microsoft.com, metze@samba.org, pali@kernel.org,
	linkinjeon@kernel.org, smfrench@gmail.com, sfrench@samba.org,
	senozhatsky@chromium.org, tom@talpey.com, pc@manguebit.org,
	ronniesahlberg@gmail.com, sprasad@microsoft.com,
	bharathsm@microsoft.com, christophe.jaillet@wanadoo.fr,
	zhangguodong@kylinos.cn
Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org,
	ChenXiaoSong <chenxiaosong@kylinos.cn>
Subject: [PATCH v3 08/22] smb: move smb_sockaddr_in and smb_sockaddr_in6 to common/smb2pdu.h
Date: Tue, 14 Oct 2025 15:19:03 +0800	[thread overview]
Message-ID: <20251014071917.3004573-9-chenxiaosong.chenxiaosong@linux.dev> (raw)
In-Reply-To: <20251014071917.3004573-1-chenxiaosong.chenxiaosong@linux.dev>

From: ZhangGuoDong <zhangguodong@kylinos.cn>

Rename 4 places:

  - iface_info_ipv4 -> smb_sockaddr_in
  - iface_info_ipv6 -> smb_sockaddr_in6
  - IPv4address -> IPv4Address
  - IPv6address -> IPv6Address

Then move duplicate definitions to common header file.

Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn>
---
 fs/smb/client/smb2ops.c |  8 ++++----
 fs/smb/client/smb2pdu.h | 13 -------------
 fs/smb/common/smb2pdu.h | 15 +++++++++++++++
 fs/smb/server/smb2pdu.c |  4 ++--
 fs/smb/server/smb2pdu.h | 13 -------------
 5 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index 7c392cf5940b..e90ca77d2ac7 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -624,8 +624,8 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
 	struct network_interface_info_ioctl_rsp *p;
 	struct sockaddr_in *addr4;
 	struct sockaddr_in6 *addr6;
-	struct iface_info_ipv4 *p4;
-	struct iface_info_ipv6 *p6;
+	struct smb_sockaddr_in *p4;
+	struct smb_sockaddr_in6 *p6;
 	struct cifs_server_iface *info = NULL, *iface = NULL, *niface = NULL;
 	struct cifs_server_iface tmp_iface;
 	ssize_t bytes_left;
@@ -685,7 +685,7 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
 		 */
 		case INTERNETWORK:
 			addr4 = (struct sockaddr_in *)&tmp_iface.sockaddr;
-			p4 = (struct iface_info_ipv4 *)p->Buffer;
+			p4 = (struct smb_sockaddr_in *)p->Buffer;
 			addr4->sin_family = AF_INET;
 			memcpy(&addr4->sin_addr, &p4->IPv4Address, 4);
 
@@ -697,7 +697,7 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
 			break;
 		case INTERNETWORKV6:
 			addr6 =	(struct sockaddr_in6 *)&tmp_iface.sockaddr;
-			p6 = (struct iface_info_ipv6 *)p->Buffer;
+			p6 = (struct smb_sockaddr_in6 *)p->Buffer;
 			addr6->sin6_family = AF_INET6;
 			memcpy(&addr6->sin6_addr, &p6->IPv6Address, 16);
 
diff --git a/fs/smb/client/smb2pdu.h b/fs/smb/client/smb2pdu.h
index c013560bcfa1..0be63c00f848 100644
--- a/fs/smb/client/smb2pdu.h
+++ b/fs/smb/client/smb2pdu.h
@@ -261,19 +261,6 @@ struct network_resiliency_req {
 } __packed;
 /* There is no buffer for the response ie no struct network_resiliency_rsp */
 
-struct iface_info_ipv4 {
-	__be16 Port;
-	__be32 IPv4Address;
-	__be64 Reserved;
-} __packed;
-
-struct iface_info_ipv6 {
-	__be16 Port;
-	__be32 FlowInfo;
-	__u8   IPv6Address[16];
-	__be32 ScopeId;
-} __packed;
-
 #define NO_FILE_ID 0xFFFFFFFFFFFFFFFFULL /* general ioctls to srv not to file */
 
 struct compress_ioctl {
diff --git a/fs/smb/common/smb2pdu.h b/fs/smb/common/smb2pdu.h
index 25e8ece283c4..b01114108d23 100644
--- a/fs/smb/common/smb2pdu.h
+++ b/fs/smb/common/smb2pdu.h
@@ -1428,6 +1428,21 @@ struct network_interface_info_ioctl_rsp {
 	};
 } __packed;
 
+/* See MS-SMB2 2.2.32.5.1.1 */
+struct smb_sockaddr_in {
+	__be16 Port;
+	__be32 IPv4Address;
+	__u8   Reserved[8];
+} __packed;
+
+/* See MS-SMB2 2.2.32.5.1.2 */
+struct smb_sockaddr_in6 {
+	__be16 Port;
+	__be32 FlowInfo;
+	__u8   IPv6Address[16];
+	__be32 ScopeId;
+} __packed;
+
 /* this goes in the ioctl buffer when doing FSCTL_SET_ZERO_DATA */
 struct file_zero_data_information {
 	__le64	FileOffset;
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index 169fbec03cfd..dd6f1375a833 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -7903,7 +7903,7 @@ static int fsctl_query_iface_info_ioctl(struct ksmbd_conn *conn,
 			idev = __in_dev_get_rtnl(netdev);
 			if (!idev)
 				continue;
-			sockaddr_storage->addr4.IPv4address =
+			sockaddr_storage->addr4.IPv4Address =
 						idev_ipv4_address(idev);
 			nbytes += sizeof(struct network_interface_info_ioctl_rsp);
 			ipv4_set = true;
@@ -7911,7 +7911,7 @@ static int fsctl_query_iface_info_ioctl(struct ksmbd_conn *conn,
 		} else {
 			struct inet6_dev *idev6;
 			struct inet6_ifaddr *ifa;
-			__u8 *ipv6_addr = sockaddr_storage->addr6.IPv6address;
+			__u8 *ipv6_addr = sockaddr_storage->addr6.IPv6Address;
 
 			sockaddr_storage->Family = INTERNETWORKV6;
 			sockaddr_storage->addr6.Port = 0;
diff --git a/fs/smb/server/smb2pdu.h b/fs/smb/server/smb2pdu.h
index fe92bfeb415a..5a76b706ccd9 100644
--- a/fs/smb/server/smb2pdu.h
+++ b/fs/smb/server/smb2pdu.h
@@ -136,19 +136,6 @@ struct create_posix_rsp {
 
 #define SMB2_0_IOCTL_IS_FSCTL 0x00000001
 
-struct smb_sockaddr_in {
-	__be16 Port;
-	__be32 IPv4address;
-	__u8 Reserved[8];
-} __packed;
-
-struct smb_sockaddr_in6 {
-	__be16 Port;
-	__be32 FlowInfo;
-	__u8 IPv6address[16];
-	__be32 ScopeId;
-} __packed;
-
 struct sockaddr_storage_rsp {
 	__le16 Family;
 	union {
-- 
2.43.0


  parent reply	other threads:[~2025-10-14  7:21 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14  7:18 [PATCH v3 00/22] smb: fix some bugs, move duplicate definitions to common header file chenxiaosong.chenxiaosong
2025-10-14  7:18 ` [PATCH v3 01/22] smb/server: fix possible memory leak in smb2_read() chenxiaosong.chenxiaosong
2025-10-14  7:18 ` [PATCH v3 02/22] smb/server: fix possible refcount leak in smb2_sess_setup() chenxiaosong.chenxiaosong
2025-10-14  7:18 ` [PATCH v3 03/22] smb: move some duplicate definitions to common/cifsglob.h chenxiaosong.chenxiaosong
2025-10-20  4:39   ` Namjae Jeon
2025-10-14  7:18 ` [PATCH v3 04/22] smb: move smb_version_values " chenxiaosong.chenxiaosong
2025-10-14  7:19 ` [PATCH v3 05/22] smb: move get_rfc1002_len() " chenxiaosong.chenxiaosong
2025-10-14  7:19 ` [PATCH v3 06/22] smb: move SMB1_PROTO_NUMBER " chenxiaosong.chenxiaosong
2025-10-14  7:19 ` [PATCH v3 07/22] smb: move some duplicate definitions to common/smb2pdu.h chenxiaosong.chenxiaosong
2025-10-20  4:52   ` Namjae Jeon
2025-10-26  9:20     ` ChenXiaoSong
2025-10-26 23:17       ` Namjae Jeon
2025-10-14  7:19 ` chenxiaosong.chenxiaosong [this message]
2025-10-14  7:19 ` [PATCH v3 09/22] smb: move copychunk " chenxiaosong.chenxiaosong
2025-10-20  5:03   ` Namjae Jeon
2025-10-22  5:47     ` ChenXiaoSong
2025-10-14  7:19 ` [PATCH v3 10/22] smb: move resume_key_ioctl_rsp " chenxiaosong.chenxiaosong
2025-10-14  7:28 ` [PATCH v3 11/22] smb: move smb2_file_network_open_info " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 12/22] smb: move some duplicate definitions to common/cifspdu.h chenxiaosong.chenxiaosong
2025-10-20  5:22     ` Namjae Jeon
2025-10-22  6:01       ` ChenXiaoSong
2025-10-14  7:28   ` [PATCH v3 13/22] smb: move file access permission bits " chenxiaosong.chenxiaosong
2025-10-20  5:27     ` Namjae Jeon
2025-10-22  5:55       ` ChenXiaoSong
2025-10-14  7:28   ` [PATCH v3 14/22] smb: move SMB frame " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 15/22] smb: move FILE_SYSTEM_ATTRIBUTE_INFO " chenxiaosong.chenxiaosong
2025-10-20  5:35     ` Namjae Jeon
2025-10-21  6:35       ` ChenXiaoSong
2025-10-21  6:36       ` ChenXiaoSong
2025-10-14  7:28   ` [PATCH v3 16/22] smb: move FILE_SYSTEM_DEVICE_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 17/22] smb: move FILE_SYSTEM_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 18/22] smb: move FILE_DIRECTORY_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 19/22] smb: move FILE_FULL_DIRECTORY_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 20/22] smb: move FILE_BOTH_DIRECTORY_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 21/22] smb: move SEARCH_ID_FULL_DIR_INFO " chenxiaosong.chenxiaosong
2025-10-14  7:28   ` [PATCH v3 22/22] smb: move FILE_SYSTEM_POSIX_INFO " chenxiaosong.chenxiaosong
2025-10-15  5:43 ` [PATCH v3 00/22] smb: fix some bugs, move duplicate definitions to common header file Namjae Jeon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251014071917.3004573-9-chenxiaosong.chenxiaosong@linux.dev \
    --to=chenxiaosong.chenxiaosong@linux.dev \
    --cc=bharathsm@microsoft.com \
    --cc=chenxiaosong@kylinos.cn \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=linkinjeon@kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=metze@samba.org \
    --cc=pali@kernel.org \
    --cc=pc@manguebit.org \
    --cc=ronniesahlberg@gmail.com \
    --cc=senozhatsky@chromium.org \
    --cc=sfrench@samba.org \
    --cc=smfrench@gmail.com \
    --cc=sprasad@microsoft.com \
    --cc=stfrench@microsoft.com \
    --cc=tom@talpey.com \
    --cc=zhangguodong@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.